פיתוח Native Applications עבור מערכת ההפעלה אנדרואיד
קיימות דרכים רבות לפיתוח אפליקציות עבור מערכת ההפעלה אנדרואיד. אחת מהן היא פיתוח Native Applications באמצעות שפת התכנות Kotlin. כאשר הופיעה מערכת ההפעלה אנדרואיד לפני כ-15 שנה הוצגה על ידי גוגל האפשרות לפתח עבורה אפקליציות באמצעות שפת התכנות Java. זו הייתה שפת הפיתוח הרשמית של גוגל עבור מערכת ההפעלה אנדרואיד. התקופה זכורה לי היטב. הייתי בין הראשונים בעולם להיכנס לתחום, ובשנת 2010 טסתי להודו פעמיים על מנת להעביר קורסים מקצועיים בתחום במרכז המחקר והפיתוח של חברת Avaya ב-Pune. לפני כ-5 שנים הוחלפה שפת הפיתוח הרשמית ל-Kotlin. המורכבות של מערכת ההפעלה אנדרואיד לא השתנתה, ובמקום להשתמש ב-Java עברנו ל-Kotlin.
שפות התכנות שיש להכיר כדי לפתח Native Applications עבור מערכת ההפעלה אנדרואיד
לפני שמתחילים לפתח עבור מערכת ההפעלה אנדרואיד, יש להכיר את שפות התכנות Java ו-Kotlin. כדי ללמוד כיצד לפתח בשפת התכנות Kotlin תחילה יש להכיר היטב את שפת התכנות Java. במקרים רבים, בתוך קוד שכתוב ב-Kotlin ישולב קוד אשר עושה שימוש במחלקות שהוגדרו ב-Java. אני מעביר קורסים ללימוד Java למעלה מ-25 שנים. עקומת הלימוד של Java אמנם קלה יותר בהשוואה ל-++C אך עדיין הרבה יותר קשה בהשוואה לשפות תכנות כגון Python ו-JavaScript. זוהי ההתרשמות שלי מעשרות קורסים שהעברתי בשפות אלה במהלך חיי. רוב הקורסים ללימוד Java אשר מועברים כיום אינם ברמה מספקת כדי להמשיך בתהליך וללמוד Kotlin. לא אחת, בקורסים מקצועיים ללימוד Kotlin שאני מעביר בחברות הייטק אני נדרש לעיתים להקדיש לפחות מפגש אחד להשלמת נושאים חשובים ב-Java לפני שמתחילים בלימוד של Kotlin. שפת התכנות Kotlin היא שפה עשירה ובעלת ארגז כלים מפואר במיוחד. שפות פופולריות כגון Python ו-JavaScript מחווירות לעומתה. מדובר ב-scale אחר לגמרי. עקומות הלימוד של שפות התכנות Java ו-Kotlin משמעותית הרבה יותר קשות מעקומות הלימוד של שפות התכנות Python ו-JavaScript.
מערכת ההפעלה אנדרואיד מורכבת במיוחד ומאז הופעתה עברה שינויים רבים
הפיתוח של מערכת ההפעלה אנדרואיד התחיל בשנת 2003. בשנת 2005 גוגל רכשה את החברה שעבדה על הפיתוח של אנדרואיד. מאז ועד היום מערכת ההפעלה אנדרואיד עברה שינויים רבים. כיום מדובר במערכת הפעלה מאד מורכבת. ה- API שהיא חושפת זמין לשימוש גם ב-Java וגם ב-Kotlin. מאז הופעתה של אנדרואיד העברתי עשרות קורסים ציבוריים, קורסים בחברות הייטק וקורסים אקדמיים. רוב התלמידים בקורסים שהעברתי לא הצליחו להגיע לרמה גבוהה דיו כדי לעבוד בפיתוח אפליקציות לאנדרואיד. מגבלת הזמן מצד אחד (לא ניתן להעביר קורסים ארוכים מדי) והיקף החומר המקצועי שהקורס כיסה, ומורכבותו יוצאת הדופן מצד שני, הביאו לכך שהבודדים שהצליחו להיכנס לתחום אופיינו במוטיבציה, ויכולות גבוהות במיוחד. בדרך כלל היה מדובר במפתחים עם ניסיון עשיר בפיתוח ויכולות ברמה גבוהה במיוחד.
תהליך ההכשרה המקצועית לפיתוח Native Applications לאנדרואיד
כיוון שמדובר בתהליך ארוך ומאתגר אשר מתאים לבעלי יכולות ומוטיבציה גבוהים במיוחד נוצר פער בין הביקוש בשוק העבודה למפתחי Native Applications לאנדרואיד לבין ההיצע. הדבר הוביל בין היתר לעליה בעלויות הפיתוח של אפליקציות לאנדרואיד ולהופעתן של טכנולוגיות אלטרנטיביות, כגון Flutter ו- ReactNative. כיוון שמדובר בתהליך הכשרה מקצועית ארוך ומאתגר אני ממליץ לכל חסרי הרקע בתכנות ולכל הסטודנטים למדעי המחשב אשר שוקלים התפתחות בכיוון זה להתייעץ בנושא עם מפתחי תוכנה מנוסים אשר עובדים בפיתוח אפליקציות למערכת ההפעלה אנדרואיד.