התולעת בתפוח: כמה באמת קל לפתח לאייפון?
"אפל מציבה בפנינו דיסוננס הזוי - מיתוג ומראה עתידניים מצד אחד, ומנגד טכנולוגיות "חדשניות" שמרגישות מיושנות ולא מאפשרות לקהילת המפתחים לצמוח בצורה עצמאית ותקינה". דורון טל עזב את עולם פיתוח התוכנה לטובת פיתוח אפליקציות לאייפון וחשף סודות שמסתתרים מאחורי הקלעים של התעשייה. כתבה ראשונה בסדרה
לפני מספר חודשים החלטתי לעשות את הצעד המתבקש בעולם הפיתוח המודרני ולעבור לפיתוח אפליקציות לסמארטפונים, עם דגש על אייפון. הצעד נולד בעקבות סטארט-אפ עליו אני עובד בשנתיים האחרונות, ולאחר ניסיון כושל בהוצאת הפיתוח למקור חוץ החלטתי לנצל את הידע הטכנולוגי שלי ולעבור מסביבה חמה ומוכרת (כל מה שלא קשור באפל) אל הסביבה הנוצצת והיוקרתית לטובת פיתוח עצמאי.
עוד בערוץ סלולר :
- הצדק החברתי מתחיל בסלולרי שלי
- הסמארטפון ואני: מכשיר קשר או חוסם תדרים?
- הביעו את עצמכם: אפליקציות יצירתיות לאייפד
הדבר הראשון שגיליתי: פיתוח אפליקציות בסביבת iOS של אפל הוא דבר יקר. מאוד יקר. פעם חשבתי שפיתוח האפליקציות יקר כל כך בגלל הביקוש הגובר על ההיצע, אבל כשהפכתי למפתח בעצמי הבנתי שטעיתי - הפיתוחים יקרים בגלל שתהליך הפיתוח הוא ארוך, מייגע ומסובך. זה מתחיל בעובדה שצריך לקנות מחשב ייעודי למשימה, ממשיך בסיבוכים הטכנולוגיים של מערכת ההפעלה ונגמר בסחבת הטכנולוגית שמאפיינת את מאחורי הקלעים של אפל. הדבר משפיע מאוד על משך הזמן שלוקח לפתח אפליקציות, על הבאגים שהן כוללות בתוכן, וכמובן שגם על המחיר שמשפיע הן על החברות המפתחות והן על המשתמשים.
האריזה נוצצת, המוצרים חלודים
מעריצי החברה בטח לא יסלחו לי על מה שאני הולך להגיד, אבל הגיע הזמן לשבור את הסיטגמות שיש לכם על אפל: המוצרים שלהם ירודים מבחינה טכנולוגית. הם אמנם חלוצים בתחומם, והמוצרים שלהם יקרים ויוקרתיים כאחד, אבל לאחר חפירות קשות בתוך גלגלי השיניים הקטנים שגורמים לכל זה לעבוד המסקנה היא פשוטה: האריזה היפה והנוצצת מחפה על מערכת טכנולוגית חורקת לגמרי.
אל תיתנו לאריזה להטעות אתכם. עיצוב המוצרים של אפל, משלב האריזה ועד הגימורים הקטנים ביותר על המוצר מהממים ברמות קשות, אבל מסתיר משהו לגמרי אחר שקורה שם בפנים. חיפושים שערכתי ברשת במהלך תהליך הפיתוח, הראו שוב ושוב שמדובר בבעיות שמעסיקות מפתחים רבים בסביבת iOS. ואם זה לא מספיק, הרי שחוסר התאימות בין הגרסאות השונות של xcode (סביבת הפיתוח של אפל) ותדירות השינויים שלה מכשילים את ניסיונה הנואש של קהילת המפתחים ליצור גוף ידע מסודר, מדריכים ומאמרים בנושא. המדריכים המושקעים הופכים ללא-רלוונטיים במהירות, מה שהופך את המחברים וגם המשתמשים שלהם למתוסכלים ביותר.
החוויה האישית שלי כמפתח היא שכ- 80% מתהליך הפיתוח מתבזבז על כל אותם דברים לא חשובים ופינות אפלות ולא מטופלות של אפל, ואילו רק 20% עוסקים בפיתוח המהותי, המשמעותי, של האפליקציה.
גאוות יחידה, אבל למה על חשבוננו?
נחזור להתחלה: על מנת לפתח לסביבת iOS חייבים לקנות מק. מיותר לציין שאין לכך שום הצדקה טכנולוגית בעולם של היום, על אחת כמה וכמה מאז שאפל עובדים עם מעבדי אינטל סטנדרטיים. אפל אומרת למפתחים שלה שהם לא יכולים לכתוב תוכנות עבור המוצרים שלה, אלמלא ירכשו מוצרים שלה. גאוות היחדה הזו עולה לנו ביוקר, גם כמפתחים וגם כמשתמשים.
ואני שואל, במה חטאתי? אני, לדוגמה, עובד בסביבת מיקרוסופט כבר כעשרים שנה. אני ממש לא זקוק למחשב חדש, נוח לי בסביבה שבה אני עובד, ויותר מכך - אני רק רוצה לפתח אפליקציה לטלפון נייד ולא תוכנה למק. אז מדוע אני צריך לקנות מחשב של אפל? מדוע אי אפשר למכור לי חבילת פיתוח, אפילו יקרה, ל-PC?
תגידו ביי ביי לעולם הפיתוח המודרני
מפתחים יקרים: כשאתם ניגשים לפתח אפליקציה למוצרי אפל, אתם יכולים לשכוח את כל מה שהכרתם מעולם הפיתוח המודרני. התרגלתם לעבודה קלה ונוחה? התרגלתם להשתמש בכלים מתקדמים וטובים? התרגלתם לעסוק בפיתוח עצמו ולא בביורוקרטיית הקוד שמסביב? חבל מאוד, כי בחבילת הפיתוח של אפל תעבדו בפרך על כל פעולה פשוטה, תכתבו אלפי שורות קוד מיותרות, ותחזרו לשיטות פיתוח שיצאו מהעולם באמצע שנות ה- 90 של המאה הקודמת. מהר מאוד תרגישו מה זה להיות עובדי הניקיון בארמון הכי נוצץ, עשיר ומהמם שראיתם בימי חייכם.
לאפל זה לא ממש משנה שכיום יש סטנדרטים ברורים או סביבות קוד פתוח (כמו זו שגוגל בחרה על מנת לפתח אפליקציות לאנדרואיד). הם בחרו לעשות את הכל בדרכם, ולהתחיל את הכל מאפס. זה יכול להישמע כמו רעיון טוב, אפילו מלהיב טכנולוגית ומקצועית, אבל בפועל במקום לקבל מודרניזציה קיבלנו קאמבק עצוב לעבודה הסיזיפית של עולם הפיתוח הישן. זו הפעם הראשונה בה אני נתבל בחברה גדולה עם משאבים אדירים שרוצה לייצר חדשנות ויוצא לה מוצר שמפגר בכ- 20 שנה מהקדמה, אבל במראה שלו נראה 20 שנה קדימה. דיסוננס הזוי.
הגישה בעולם הפיתוח המודרני הוא לתת למפתח את כל הכלים הטובים ביותר על מנת שעבודת הפיתוח שלו תתעסק בעיקר בחדשנות וביצירה. לכתוב כמה שפחות "שורות קוד" ולהתבסס יותר ויותר על תכונות מוכנות בסביבת הפיתוח במקום לפתח אותן בכל פעם מחדש. בהקשר הזה, אפל הם כנראה הראשונים בהיסטוריה שהמציאו משהו "חדש" שהוא בפועל ישן.
כל הדברים האלה, ועוד רבים אחרים, מעכבים את ההתפתחות של האפליקציות והפעילות העסקית סביבן ובסופו של דבר מובילים ליצירת מוצרים נחותים תוך בזבוז משווע של זמן ומשאבים יקרים ביותר. לרוב, את המחיר ישלם המשתמש הפשוט, לקוח חברת אפל, שכל חטאו היה רכישת אייפון או אייפד.
בטור הבא: הצנזורה בשערי ה-AppStore ועוד סודות ממאחורי הקלעים של תעשיית פיתוח האפליקציות הסלולריות.