איזה סוג של מפתח תוכנה היית רוצה להיות – Frontend או Backend?
אחת הדרכים הנפוצות לנחש למה אתם מתחברים היא באמצעות השוואה לתחום הקולנוע. תשאלו את עצמכם את השאלה הבאה: האם הייתם מעדיפים להיות השחקן הראשי בסרט (פרונט אנד) או דווקא הבמאי (בק אנד)?
במאמר זה נסביר מה עושה מפתח Backend (ואיך הוא שונה מפרונט אנד), ונציג בקצרה 5 מיומנות שכל מפתח בק אנד צריך לרכוש כדי להשתלב בתחום.
תוכן עניינים
מה עושה מפתח Backend?
כפי שהזכרנו קודם, פיתוח תוכנה מתחלק לשני חלקים עיקריים: Frontend ו- Backend.
בפשטות, צד הפרונטאנד מתייחס למה שהמשתמש רואה וצד הבקאנד שייך למה שגורם ליישום לעבוד (היישום יכול להיות אתר אינטרנט, אפליקציה או תוכנת מחשב).
באתר אינטרנט לדוגמה, כל מה שהמשתמש רואה בדפדפן שלו ומבצע אינטראקציה עמו הוא הפרונט אנד. לעומת זאת, הבק אנד של האתר נמצא על השרת – והוא כולל מסדי נתונים, מערכות CMS, וקוד המשפיע על פונקציונליות האתר.
בנוסף, מפתחי Backend עובדים בשיתוף פעולה עם אנשי פרונט אנד ולכן צריכים להכיר היטב גם שפות וכלים ששייכים לצד הלקוח.
5 מיומנויות (Skills) שכל מפתח Backend צריך לשלוט בהן:
כל מפתח תוכנה זקוק למגוון מיומנות טכניות. ואם אתם רוצים לפתח קריירה בפיתוח Backend יש לא מעט מיומנויות בהן תצטרכו לצבור ידע וניסיון.
כמו כן, מכיוון שמפתחי Backend נדרשים לעבור בשיתוף פעולה עם מפתחי פרונט אנד, הם נדרשים להבין גם בהיבט זה ולהכיר שפות וטכנולוגיות השייכות לצד-הלקוח.
באופן כללי, מפתחי Backend צריכים לשלוט ב-5 מיומנויות עיקריות:
- שפות תכנות
- פריימוורקס
- מסדי נתונים
- מערכות לניהול גרסאות (כמו GIT למשל)
- ממשקי API
*הבהרה: מפתחי בק אנד צרכים לשלוט בתחומים אחרים כמו ידע באלגוריתמים, תקשורת, היכרות עם מתודולוגיות אבטחת מידע, מיומנויות רכות ועוד, אך במדריך זה נתמקד ב- 5 ה- Skills מרכזיים שהם הבסיס הטכני של כל מפתח בקאנד.
פרטים על קורס בפיתוח תוכנה? + מתנה
הרשמו לקבל מידע על תנאי קבלה, מועד פתיחה, ותנאי תשלום וקבלו מאיתנו שבועיים חינם לקורס תכנות אונליין של קודבוקס*
Skill #1 – שפות תכנות
ה"לחם וחמאה" של מפתחי בק אנד הוא כתיבת קוד שמתקשר עם צד ה- Backend. אם ניקח דוגמא מתחום פיתוח Web למשל, מדובר על הקוד שמתקשר עם השרת המארח את האתר.
לשם כך תצטרכו להיות בקיאים לפחות בשפת תכנות אחת. הנה כמה דוגמאות לשפות בק אנד נפוצות:
- PHP – שפת תכנות נפוצה עבור פיתוח אתרי אינטרנט
- ג'אווה – שפת תכנות ותיקה ופופולרית בעלת שימושים רבים
- פייתון – שפה מאוד תכליתית, קלה לשימוש ונגישה, בשנים האחרונות הפכה לאחת האופציות הפופולריות עבור פיתוח בק אנד
- RUBY – ניתן להשתמש בה באופן עצמאי או כחלק מהפריימוורק Ruby on Rails
וכפי שהזכרנו קודם, מפתחי Backend צריכים בנוסף להכיר שפות פרונט-אנד – HTML, CSS ו- JavaScript (שהן שפות פרונט אנד המשמשות לפיתוח Web)
רוצים לדעת עוד? הנה סקירה של 15 שפות תכנות שאתם צריכים להכיר
Skill #2 – פריימוורקס
פריימוורק (או "שלד תוכנה") הוא חבילה המפשטת את תהליך הפיתוח. פריימוורקס מכילים מגוון כלים וספריות שימושיות המאפשרות לזרז משימות נפוצות ולהפוך את תהליך הפיתוח ליעיל וידידותי למשתמש ככל האפשר.
איזה פריימוורק כדאי ללמוד בתור התחלה?
כל פריימוורק כתוב בשפה מסויימת ולכל שפת תכנות עשויים להיות כמה פריימוורקס אפשריים. לכן, הפריימוורק שתבחרו יושפע במידה רבה משפות התכנות בהן בחרתם להתמקד. למשל: אם אתם יודעים פייתון, תוכלו לעשות שימוש בפריימוורק Django. לעומת זאת, אם אתם מעדיפים לפתח באמצעות PHP, הפריימוורק Laravel יוכל להתאים לכם.
בכל אופן, בחברות הייטק בדרך כלל עושים שימוש במספר מצומצם של פריימוורקס ולכן אם אתם מפתחי Backend מתחילים שמצטרפים לארגון, ככל הנראה יבחרו עבורכם פריימוורק ראשי שאיתו תעבדו. לכן כדאי להתנסות בכמה פריימוורקס שונים.
Skill #3 – מסדי נתונים
מסדי נתונים משמשים לאחסון נתונים על גבי השרת. כאשר משתמש מגיש בקשה באתר, ה- Backend הוא סוג של "מתווך" שאחראי להחזיר את המידע המתאים ממסד הנתונים ולשלוח אותו בחזרה אל המשתמש.
בהתאם, ברגע שהמשתמש מזין פרטים באתר (למשל: נרשם באמצעות שם משתמש וסיסמה), נתונים אלו יתווספו למסד הנתונים.
מכיוון שמסדי נתונים יכולים לאחסן כמויות אדירות של מידע, מפתחי בקאנד נעזרים במערכות לניהול מסדי נתונים. דוגמאות נפוצות למערכות כאלו הן MySQL, Microsoft SQL Server.
פרטים על קורס בפיתוח תוכנה? + מתנה
הרשמו לקבל מידע על תנאי קבלה, מועד פתיחה, ותנאי תשלום וקבלו מאיתנו שבועיים חינם לקורס תכנות אונליין של קודבוקס*
Skill #4 – מערכת ניהול גרסאות
מערכות ניהול גרסאות (version control) מאחסנות את כל הגרסאות הקודמות של הקוד שלכם במאגר, כך שניתן יהיה לגשת אליו מאוחר יותר.
למשל, נניח שזיהיתם באג חדש בקוד שלכם שמונע מהיישום לפעול, מערכת בקרת גרסאות כמו Git תאפשר לכם לחזור לגרסה הקודמת ולהפעיל את היישום שלכם.
מעבר לכך, Git מאפשרת למפתחים שונים לשתף פעולה בפרויקטים בקלות. כל מפתח עובד על "ענף" מסויים משלו וכאשר כל הפיצ'רים מוכנים לשילוב ביישום הראשי, כל "הענפים" מתחברים לכדי יישום ראשי.
לאחר מכן היישום עולה לשרתי ניסיון (שם נבדקות כל התכונות שלו) ובסופו של דבר לשרת האמיתי של המוצר.
שירותים כמו GitHub מאפשרים לאחסן מאגרי Git ולשתף פעולה בקלות עם מפתחים אחרים.
Skill #5 – ממשקי API
API הוא ממשק תכנות יישומים (Application Programming Interface) המקשר בין שני יישומים שונים. ה- API מקבל בקשות נכנסות ליישום Backend, מאחזר את הנתונים הרלוונטיים ומשיב את המידע הזה. כלומר, אפשר להשתמש בממשקי API כדי לספק נתונים חיצוניים ליישומים שלכם.
לדוגמה, אם אתם בונים אפליקציה שבין היתר מציגה את תחזית מזג האוויר, אין שום סיבה שתבנו בעצמכם מערכת שמחזירה נתוני מזג אוויר בזמן אמת. במקום זאת, תוכלו לקבל נתונים אלה מה- API של OpenWeatherMap .
מפתחי בק אנד ידרשו לעיתים לפתח API בעצמם שמתקשר עם הצד הקדמי, בעוד שהפרונט אנד בדר"כ רק יעשה שימוש בממשקי API קיימים.
מאמרים נוספים שיכולים לעניין אותך:
איך להיות מפתח Backend: סיכום ומסקנות
אם אתם רוצים להתחיל לעבוד בתור מפתחי Backend אתם תצטרכו לשלוט בלא מעט מיומנות, כולל כמה של מפתחי פרונט אנד, אך המסלול הזה עשוי להשתלם לכם.
הבסיס של כל מפתח בק אנד טמון ב-5 מיומנות טכניות שאתם תהיו חייבים לשלוט בהן:
- שפת תכנות: שפות בקאנד כמו PHP, פייתון וג'אבה (בנוסף לידע סביר בשפות פרונט אנד)
- פריימוורקס: בהתאם לשפת התכנות שבחרתם, תבחרו פריימוורק שיאפשר לכם להאיץ את התהליך הפיתוח שלכם.
- בסיסי נתונים: ניהול מסדי נתונים באמצעות מערכות כמו MySQL או Microsoft SQL Server
- מערכות לניהול גרסאות: כמו GitHub למשל
- ממשקי API: מאפשרים להתחבר לממשקים חיצוניים מבלי "לתכנת" דברים בעצמכם.