כל מי שרוצה ללמוד בניית אתרים בימים אלו ייתקל במושג חדש יחסית – Full Stack Developer.
על כך המאמר הבא:
לימוד נושא בניית אתרים משנה את שמו לעיתים בכדי לשקף את דרישות השוק השונות:
נוכל לראות שמות כמו: מנהל אתר, Web Developer, Web Master, Web Designer והיום Full Stack Developer. שינוי שם המקצוע מביא איתו חוסר בהירות- אז מה צריך לדעת מפתח כדי לקרוא לעצמו Full Stack Developer.
בפיתוח לאינטרנט ישנם שני צדדים עיקריים- צד לקוח (Client Side) וצד שרת Server Side)). נסקור כעת את הטכנולוגיות העיקריות אותן צריך לדעת המפתח.
אחראי על המראה והתנהגות האתר במדיות השונות ועל חוויית המשתמש באתר. כדי לבצע זאת, על המפתח לדעת באופן נרחב: HTML, CSS, JAVASCRIPT. כמו כן, צריך המפתח להכיר סביבות פיתוח כמו Bootstrap, Angular.js אשר מייעלות את תהליך התאימות למדיות השונות (כלומר, תאימות לדסקטופ- Windows, טאבלט ומובייל).
כדי לכתוב קוד יעיל וחכם יותר, על המפתח להכיר גם SASS ואת הספרייה jQuery. מפתח צד לקוח נמצא בקשר שותף עם מעצב האתר ומי שאחראי על חוויית המשתמש. עליו להציע פתרונות ולהציב מגבלות פיתוח. צד הלקוח הוא הצד היצירתי יותר בפיתוח בגלל המגע הישיר עם המשתמש באתר.
לסיכום – צד הלקוח אחראי על כל מה שרואים באתר. הגרפיקאי אחראי על הלוגו והעיצוב, הצלם אחראי על התמונות, הקופירייטר אחראי על התכנים. מפתח צד הלקוח לוקח את החלקים השונים, מרכיב את הפאזל ומייצר אתר.
אחראי על כל מה שקורה בשרת- הבסיס והתוכן של האתר. כדי לבנות את בסיס האתר, על המפתח להכיר את השרת, שפת פיתוח, צד שרת ושפה המאפשרת קישור למאגר המידע של האתר. שפות פיתוח צד שרת הן למשל PHP או RUBY. שפות מאגר מידע הן למשל MySQL או Oracle.
פיתוח בצד השרת משתמש בכלים ובשפות שצוינו כדי לבנות בסיס יציב לאתר או לאפליקציה ועל כן חלק זה של האתר חייב להיות מאורגן, מסודר ומתועד היטב. בעת פיתוח צד השרת חייבים להבין לעומק את צרכי הלקוחות (בעלי האתר) ואת צרכי המשתמשים ולתת פתרונות טכנולוגיים מתאימים.
דוגמא: משתמש נכנס לאתר, פייסבוק לדוגמא ומבצע רישום לאתר. לאחר מכן מקבל דף אישי בו הוא יכול לראות וליצור קשר עם כל החברים שלו. תהליך הרישום, מציאת החברים וקבלת דף אישי בו הם רשומים כולם תוצאה של פיתוח בצד השרת.
תפקיד זה התפרסם לפני מספר שנים ע"י המפתחים בפייסבוק. הם טענו שיש צורך במפתח שמכיר את שני צדדי הפיתוח, גם את צד השרת וגם את צד הלקוח. מפתח שמכיר את שני ציידי הפיתוח יוכל לתת פתרונות יצירתיים וחכמים יותר וייתן גמישות עבודה למפתח.
שוק העבודה צמא למפתחים חכמים, כאלה שיכולים לראות את הפרויקט כולו, לתת מענה גם לבנייה הלוגית של מאגר המידע וגם מענה טכנולוגי לבעיית חוויית משתמש. להיות מפתח Full Stack דורש מהמפתח ללמוד טכנולוגיות חדשות ולהבין במה כדאי להשתמש בפרויקטים השונים בחברה.
למפתח Full Stack אף פעם לא משעמם, הוא יכול לערב את עצמו באופן דינאמי בחלקים שונים של פרויקטים ולהוות חלק חשוב ושונה בכל אחד מהם.