פעם בניית אתרים כללה שני תחומים נפרדים: עיצוב אתרים ופיתוח אתרים. היית יכול לעשות רק אחד מהשניים עם שפת תכנות מסוימת. לפעמים היו אנשי מקצוע נדירים שיכלו לעשות את שניהם. אך כך או כך, היה צורך לעבוד על עיצוב האתר, או על הקוד שגרם לו לעבוד בנפרד.
אך היום הגבולות הרבה יותר מטושטשים בין התחומים בגלל התפתחות שפות התכנות, מה שגרם להיווצרות תחום חדש שהוא full stack, אבל מה זה אומר בדיוק?
ככל שהאינטרנט נעשה מורכב יותר וככל שמתאפשר בו יותר, המפתחים החלו להתמחות יותר. משמעות הדבר היא שפיתוח אתרים פירושו כעת הרבה דברים שונים. להלן שלוש הקטגוריות העיקריות:
- front end development – החלקים הגלויים באתר או באפליקציה.
- back end development – מסד הנתונים והתשתית "מתחת למכסה המנוע".
- full stack development -הכלאה של שניהם.
front end development
העוסקים ב-front end development הם אלו הבונים את החלקים הגלויים באתרים שמשתמשים רואים ומשתמשים בהם בדפדפני האינטרנט שלהם.
ה- front end של אתר או אפליקציה הוא החלק שמשתמש רואה ומתקשר אתו באופן ישיר. חלק זה בנוי משפות קוד כמו HTML, CSS ו-JavaScript.
בעיקרון אתה יכול ליצור אתר עם HTML ו- CSS בלבד, אבל JavaScript הוא קלף משחק מאוד חזק בתחום. שפת קוד זאת גם אחראית לכך שהגבול בין ה-front ל-end מטושטש. במילים פשוטות, JavaScript מאפשרת לך להוסיף אינטראקטיביות, אנימציות מורכבות יותר ואף מאפשר לבנות יישומי אינטרנט מלאים.
בעבר דפדפני האינטרנט לא יכלו לפרש הרבה JS, לכן הוספת פונקציונליות מורכבת עם JS לא תמיד הייתה רעיון טוב. אבל הדפדפנים התחזקו הרבה יותר, מה שמאפשר לעשות עם JavaScript את מה שהיה שמור לשפות תכנות "back-end".
התקדמות ב- JavaScript עצמה אפשרה ליצור frameworks עם פיתוחים שונים כמו Angular Js, jQuery ו- Node.js. בקיצור, מה שקרה הוא שמה שאנו מתכוונים לפיתוח "front" השתנה באופן קיצוני רק בכמה שנים קצרות.
לסיכום חלק זה, מפתחי front end משתמשים ב- HTML, CSS ו- JavaScript בכדי לפתח אתרים. הם אלה שלוקחים את העיצוב ויוצרים ממנו אתר מתפקד. חלק מהאתרים בנויים רק עם HTML, CSS ו- JavaScript. עם זאת, באתרים אחרים קוד נוסף מסתתר ב- back end של האתר, כדי להגדיל או לשפר את – front end של האתר.
back end development
מפתחי ה-back end בונים את החלקים "מתחת למכסה המנוע" באתרים. אלו החלקים שמשתמשים אינם מקיימים איתם קשר ישיר.
אז מה המשמעות של זה? בעוד שהקוד של ה- front end הוא כל מה שהמשתמש מתקשר אתו באופן ישיר, ה-back end הוא הרבה יותר מאחורי הקלעים ויכולים להיות לו כמה יתרונות על פני טכנולוגיות front end לפרויקטים ספציפיים.
היום אמנם, הרשימה של דברים שאפשר לעשות עם שפת תכנות של ה-back end בלבד היא מאוד מצומצמת עקב ההתפתחות של Java script ויצירת מסגרות עבודה, המרכזיות שבהן: Node, Angular ו- React. מסגרות עבודה אלו מאפשרות לבנות כל דבר שאפשר לחשוב עליו מבלי להשתמש בשפת תכנות back end.