כדי שלא יגידו שאני מטריס ובורח:
ראשית גילוי נאות: אני לא סובל את Apple בגלל היחס שלה ללקוחות ולמפתחים בפרט ולא מוכן להשתמש בשום מוצר שלה (ובטח שלא לפתח למוצרים שלה). אם זאת, יש לי מספר חברים שמשתמשים באייפון, ואחד מהם התחיל לא מזמן לפתח עבורו ככה שיצא לי לראות מקרוב את כל התהליך החל מרכישת מחשב למטרת פיתוח ועד להכנסת היישום הראשון לחנות. תגובתך (וקבל התנצלות אם זה נשמע מעליב) נראית לי כמו "בוא תכנס, יהיה בסדר" בזמן שהשואל המקורי מביעה דאגה אמתית לגבי האם התחום הזה בכלל מתאים לו. אני חושב, שבתשובה לשאלה כזו ראוי להזכיר גם את הצדדים הבעייתיים. ולכן אקח על עצמי לעשות זאת (אולי בין תגובתך לתגובתי יצא משהו מאוזן
) 1. לאומרות ש-google מוצא בקלות הסברים כיצד להתקין את ה-SDK על מחשב עם מעבד PPC, נראה כי מעקפים אלה עדיין לא פותרים את הדרישה למערכת הפעלה בגרסה 10.5 ומעלה ולא פותרים את דרישת זיכרון המינימום של המערכת הזו. לכן, עצתי לכל מי ששוקל לרכוש MAC לטובת פיתוח היא לבדוק היטב באתר של Apple את דרישות המינימום של ה-SDK ולוודא לפני הרכישה שהמחשב המדובר אכן עומד בהם, או לכל הפחות ניתן לשדרוג כדי לעמוד בהם. (יש לקחת בחשבון שתוספת זיכרון למחשבים ישנים יותר תהיה יקרה בטירוף) אותו חבר שהזכרתי מקודם רכש iMac מהשנה \ שנתיים האחרונות ועדיין נאלץ להרחיב לו את הזיכרון לפני שהצליח להתקין את עדכון המערכת. למזלו הדגם המדובר משתמש בזיכרון DDR2 רגיל שהיום זול יחסית. 2. וכאן אני מגיע לטענה שמחשבי Apple חזקים יותר ממחשבים "רגילים" (הכוונה כמובן למחשבי PC). היום, כאשר Apple עברה להשתמש ברכיבים גינריים מבית Intel המחשבים האלה זהים לחלוטין ולא נותנים שום יתרון ביצועים מבחינת חומרה (קיים יתרון מסוים תודות למערכת הפעלה שבנויה משמעותית יותר טוב מכל מה ש-MS אי פעם יצרו). יצא לי לראות מחשב G4 ישן, והוא מכניס כל PC בן זמנו לכיס הקטן, אבל אותו iMac שהזכרתי קודם הוא PC בינוני לכל היותר (אפילו חלש, בעיקר כרטיס מסך שלו) והמחיר הכולל (מחשב + גרסה חדשה של מערכת הפעלה + זיכרון) היו יותר מפי 2 מזו של PC עם אותו מפרט. רק מה, הוא נראה נורא יפה על השולחן, אבל האם זה באמת שווה? 3. בעוד שסביבת הפיתוח עצמה אכן מאוד קלילה לשימוש ומבצעת דברים בצורה גרפית שאפילו VS 2008 (שאנשים נוטים להלל מסיבה שכלל אינה ברורה לי) לא מסוגל, הדרך להוציא יישום "כשר" ל-iPhone היא ערוכה וכואבת. הדבר המעצבן ביותר שבו נתקלתי הוא שהמפתח לא יכול לדבג את התוכנה על המכשיר האישי שלו ללא קבלת חתימה מיוחדת מ-Apple. דוגמה נוספת לסוג בעיות שעלול לייאש בקלות מפתחים הוא תהליך הבדיקה. כאשר חבר שלי העלה את האפליקציה הראשונה שלו לחנות הוא המתין שבועיים רק כדי לגלות שמחרוזת אחת בתוך החבילה לא התאימה למחרוזת שהוא הזין בתופס ההעלאה. בדיקה שהייתה יכולה להתבצע אוטומטית לחלוטין ולתת תשובה מידית לקחה שבועיים. אני יודע שאנשים רבים מתייחסים לאייפון כמו לבהלת הזהב שהייתה פעם בארה"ב ואם קרוב ל-20 מיליון (אאל"ט) מכשירים בחוץ קשה להאשים אותם. אבל חשוב להבין, שעל כל מפתח שהצליח להביא מכה (ואלה הם יוצאים מהכלל ולא הכלל) ניתן למצוא סיפור של חברה או מפתח עצמאי שהפסידו בין עשרות למעות אלפי דולרים. הסכום הגבוהה ביותר שיצא לי לקרוא עליו היה של איזו חברה שבגלל עיקובים ודחיות מוזרות ולא מנומקות של Apple הפסידה 600 אלף דולר. כדאי גם לציין שלפי תנאי החוזה לקוחות רשאים להחזיר את האפליקציה שרכשו ולקבל זיכוי מלא. אם זאת, Apple שומרת את 30% שלה כעמלה ותוספת ההחזר יוצאת מכיסו של המפתח. (הנכם מוזמנים לעיין בחוזה המפתחים של Apple כדי לוודא זאת). מקרה מפורסם שהוציא זאת לאור היה מקרה של מפתח שיצר תוכנה נלווית לשרות google voice וכמעת פשט רגל כשכל לקוחותיו התחילו להחזיר את התוכנה בעקבות הודעתה של Apple שתעיף את google voice מהמכשירים שלה. 4. נקודה אחרונה שאני רוצה להעלות היא השפה: מכל השפות שיצא לי לעבוד אתן, וזה החל מדברים עתיקים כמו turbo pascal ו-VB 4 ועד Java ו-#C, ל-Objective C יש את הסינטקס המוזר ביותר שראיתי אי פעם. לוקח זמן להתרגל לשפה הזו. וגילוי קטן: זה אולי ישמע טיפשי, אבל מה שבאמת הקפיץ לי את הפיוזים והביא אותי לכתוב את התגובה המקורית הייתה טענתך שהתקנת Windows על MAC היא "תחום אפור". אומנם אני מאמין שהייתה זו טעות תמימה, אבל אני מעוד לא אוהב לראות אנשים שכ"ברירת מחדל" מניחים שלחברה מסחרית כל שהיא יש זכות להכתיב להם את החיים. אחרי הכל, כאן לא מדובר בתוכנה שמוגנת בזכויות יוצרים ולכן איננו רוכשים אותה אלא רק מקבלים רשות לשימוש מוגבל. החומרה היא רכוש גשמי בדיוק כמו כיסה, שולחן ומקרר ולא צריך להיות עו"ד כדי להבין של-Apple אין שום זכות חוקית להכתיב איזה שימוש ייעשה בה מרגע שנרכשה. לסיום: לפותח השרשור: אני לא יודע מה הם החששות שלך לגבי פיתוח לאייפון, אבל בהתחשב בהשקעה הכרוכה בפיתוח זה (הן מבחינת זמן, והן מבחינת מזומן) לא הייתי ממליץ להיכנס לעסק לפני שאתה בטוח ומוכן להתמיד. אם ברצונך להתנסות בפיתוח לפלטפורמה סלולרית "חכמה" נסה לפתח לאנדרויד של google. כלי פיתוח ואמולטור בשבילה (שאגב הרבה יותר מדויק מזה של Apple) זמינים בחינם לכל מערכת הפעלה. אם ברצונך להתנסות בשפת Objective C עצמה תוכל לעשות זאת על מחשב שולחני. אינני יודע אם קיימים כלים ל-windows (אני מניח שכן) אבל קיימים כלים חינמיים למערכות מבוססות לינוקס. בכל מקרה שיהיה בהצלחה לכולם! לילה טוב.