Sen:te, מפתחי Mac בשוויץ, בלוזאן

האם תוכל להכיר לנו לראשונה את החברה שלך, Sen:te?

Sen:te היא חברת פיתוח IT שבסיסה בלוזאן, שוויץ.

כשהתחלנו בשנת 1994 התמקצענו בקורסים בנושא עיצוב "מונחה עצמים", פיתוח תוכנה ניתנת להרחבה, תכנות ב-NeXT והאינטרנט שהיה בחיתוליו. כיום, האייפון החליף את NeXT והמומחיות שלנו התרחבה לסביבות אחרות ולתחומים מגוונים. אנו מעסיקים 10 מהנדסים.

אתה טוען ליותר מ-10 שנות ניסיון בקקאו...

חלקנו משתמשים ב-Objective C וב-Interface Builder כבר 20 שנה!

כולם מכריזים על החזרה הגדולה של ה-Mac למקום העבודה. איך אתה צופה בהתפתחות שוק התוכנה של Objective C בשנים האחרונות? האם הביקוש באמת גדל בשטח? במיוחד בשוויץ?

נתח השוק של המקינטוש בקרב הציבור הרחב הוא משמעותי ועולה כמעט בכל מקום בעולם, במיוחד בשוויץ ובצרפת. זה יוצר מסה קריטית שדוחפת, למשל, מפעילי טלקומוניקציה או יצרני חומרה לתמוך ב-Mac OS X, ואכן, הביקוש לפיתוח Mac נמצא בעלייה.

איזו תוכנה כבר פיתחת לאייפון?

מסיבות חוזיות איננו יכולים לנקוב בשמות הלקוחות והיישומים, המתפרסמים ב-App Store או לא. יצרנו יישומים בתחומים שונים כולל פיננסים, ניטור מרחוק, מסחר אלקטרוני, טלוויזיה ומשחקים. אנו מספקים למפתחי אייפון כמה כלי עזר חינמיים וקוד פתוח. אנחנו גם מעבירים קורס תכנות בצרפתית מאוד פופולרי כבר כמעט שנה. לבסוף יש לנו רשימה ארוכה של רעיונות שאנו מקווים להפוך אליהם
מוצרים.

איך עשית את המעבר לעבודה משובצת? האם זה מחייב אותנו לבחון את הדרך בה אנו מתפתחים?

ישנם אילוצים טכניים שונים ומעניינים: מעט זיכרון, מעבדים איטיים יותר, מערכות הפעלה כפריות יותר, אך השיטות המומלצות נשארות זהות.

עם זאת, פיתוח לאייפון אינו דומה בשום אופן לפיתוח משובץ מסורתי כפי שאנו מתרגלים אותו במערכות אחרות. אפל הפשטה בחוכמה את ההיבט המוטבע של האייפון, כך שסביבת הפיתוח (Xcode, Objective-C, Cocoa Touch) כמעט זהה לזו של המק.

פשוט, באייפון, הסנקציה במקרה של ניהול זיכרון לקוי היא מיידית יותר, שכן האפליקציה יוצאת מהר מאוד, כאשר היא לא מסורבת ב-App Store. פיתוח אייפון דורש תשומת לב מיוחדת לשימוש טוב בזיכרון ובזמן המעבד.

האם הצלחת להשוות עם ערכות ה-SDK של המתחרים? (GPhone, Blackberry...)

ל-GPhone מספר חסרונות, הוא מגיע מעט באיחור בהשוואה לאייפון, עד לאחרונה ניתן היה לכתוב אפליקציות רק בג'אווה. אנדרואיד חייבת גם לתמוך במכשירים המיוצרים על ידי יצרנים שונים, מה שעלול להפוך פיתוחים מסוימים למסובכים יותר. היתרון של אנדרואיד הוא שהיא פתוחה.

לגבי Blackberry, אין לנו שום ידע על ה-SDK שלה. מצד שני, אנחנו יודעים שהאייפון עדיין מאתגר את RIM בשוק העסקים הגדול.

מתחרה חדשנית נוספת היא ה-Palm Pre, המציעה לפתח אפליקציות נייטיב תוך שימוש בטכנולוגיות אינטרנט, עם מסך רב מגע, מקלדת פיזית ועם אפשרות שימוש במספר אפליקציות במקביל. פאלם גם שכרה כמה מהנדסים לשעבר של אפל, כולל ג'ון רובינשטיין, אבי ה-iMac הראשון וה-iPod הראשון. אבל זה מגיע קצת מאוחר לדעתנו.

כל כך טוב אם התחרות מעודדת חדשנות.

לאחר בחירת ObjectiveC מהווה הגיון מסוים עבור אפל. אבל זה פוגע קשות בניידות של אפליקציות לפלטפורמות אחרות. האם הבחירה ב-Java או C++ לא הייתה מעשית יותר עבור מפתחים?

בהשוואה ל-Java ו-C++, Objective C אלגנטי, פשוט ורב עוצמה. הוא נבחר על ידי NeXT בימיה הראשונים, תקופה שבה ג'אווה לא הייתה קיימת ו-C++ בקושי היה קיים. שהשפה הזו התנגדה לאופנות מאז אותה תקופה מוכיחה את איכותה. Interface Builder לא היה אפשרי בשפות קשיחות כמו C++ או Java ועדיין אין תחרות 20 שנה מאוחר יותר.

לגבי C++, אתה יכול להרכיב ולהפעיל קוד C או C++ באייפון.

יותר מהשפה עצמה, מה שמפחית את הניידות של אפליקציות אייפון הוא השימוש במסגרות מתקדמות מאוד שהן חלק מה-SDK ואין להן מקבילה במקומות אחרים.

רבים מתארים את ה-iPhone SDK כ"בוגר מאוד" ועשיר במיוחד, למרות גילו הצעיר. אבל מפתחים רבים מתלוננים על מגבלות מסוימות או חוסר יציבות, ניהול לקוי של זיכרון המכשיר... מהי נקודת המבט שלך בנושא? האם נתקלת בצווארי בקבוק/מגבלות טכניות אמיתיות?

לא שמנו לב לבעיות שאתה מציין, לדעתנו הביקורות הללו נובעות בעיקר מחוסר ניסיון עם הסביבה. [הערת העורך: ה-iPhone SDK אכן מושך מפתחים "חדשים" רבים לפלטפורמת אפל.]

בעיקרון, ה-SDK הוא תת-קבוצה של זה של המק, המותאם לאייפון ולכן הוא לא כל כך צעיר אלא תוצאה של 20 שנות אבולוציה מאז NeXTSTEP. יש לו כמובן גבולות, וזה לא בהכרח שלילי. עבור מהנדס טוב, אילוצים הם גורם של יצירתיות והתקדמות.

האילוצים הכבדים ביותר הם ניהוליים למדי: אלו המקושרים לחתימה על הקוד, פרסום ב-App Store, וחוסר האפשרות של המשתמש הרגיל להתקין אפליקציות מבלי לעבור דרך ה-App Store או לשלם רישיון מפתח, מה שמונע שימוש בקוד תחת רישיון GPL למשל.

האם כלי ניפוי הבאגים של אפל עומדים בקנה אחד עם מה שיש בשוק? (בעיקר לנטר את המכשיר, הסימולטור וכו') למה הכי התגעגעת?

כלי איתור הבאגים לא רק ברמה, אלא מקדימים שנים את המתחרים. Xcode מאפשר לך לבצע קומפילציה צולבת ולבצע ניפוי באגים שלב אחר שלב באפליקציה באייפון.מכשיריםמאפשר לך לנטר, לנתח ולייעל היבטים שונים כגון שימוש במעבדים, זיכרון RAM, גישה לדיסק (במקרה זה זיכרון פלאש) או רשת.

מה שאנחנו הכי מתגעגעים אליו: היכולת לראות את מסך האייפון ב-Mac ויכולת להתקין קוד באייפון דרך הרשת האלחוטית, ללא חיבור פיזי.

מנקודת מבט חומרית גרידא, האם המכשיר נראה לך בגודל נכון? האם פשרות ובחירות טכניות חשובות כדי למנוע איבוד מהירות/היענות?

מעבד האייפון 3G פועל במהירות של 400 מגה-הרץ עם 128 מגה-בייט של זיכרון RAM, כך שהוא חזק יותר מה-iMac הראשונים. ה-3 GS מהיר אפילו יותר. זה מספיק לחלוטין, כל עוד מקפידים לעבד את הנתונים בצורה נכונה. פרקטיקות רעות מסוימות יכולות להיעלם מעיניהן ב-Mac OS X, ומתגלות באייפון על ידי איטיות או אפילו קריסות.

האם האייפון עדיין מוגבל בעיקר לאפליקציות "קלות" או שיש לכם כבר בקשות מתקדמות יותר מבחינת פיתוח?

לאפליקציה שפשוט מציגה נתונים מרוחקים ומבצעת פעולות פשוטות, מספיקה אפליקציית אינטרנט. עם זאת, גם במקרה של אפליקציה קלת משקל, חלק מהלקוחות מעדיפים אפליקציה מקורית כדי להיות נוכחת ב-App Store.

יש לנו בקשות אחרות הדורשות גישה למידע הכלול באייפון, כדי להיות מסוגלים ליצור אינטראקציה עם מסך מולטי-טאץ', לתקשר ברשת המקומית עם Bonjour, להשתמש במיקום גיאוגרפי, הזרמת וידאו וכו'.

איך מוצאים את הגישה של אפל, שלא מאפשרת (כרגע) לאפליקציות לחייב לקוחות ישירות? האם זה חוסם התפתחויות מסוימות?

אפשר לפרוס אפליקציה מבלי לעבור דרך ה-AppStore. פריסה שנקראת "אד-הוק" עולה 100 דולר עבור 100 מכשירי אייפון או 300 דולר עבור 500 מכשירי אייפון.

אנשים רבים "פורצים" את האייפון שלהם, על מנת להשיג תוכנות שאינן מופצות על ידי אפל (כגון 3G VoiP, מצב מודם וכו'). כתוצאה מכך, המכשיר מתנהג אחרת וחסר יציבות. איך לוקחים את זה בחשבון בפיתוח? האם אתה מפעיל בדיקות על מכשירים סדוקים? אתה מתעלם מהם לחלוטין?

חלק מהלקוחות מבקשים מאיתנו ליצור אבות טיפוס פנימיים, "הוכחות לקונספציה", שאינם מיועדים להפצה ב-App Store, אלא להדגים טכנולוגיה מסוימת. זה יכול להיות, למשל, גישה לקבצי מוזיקה ב-iTunes, דבר שהיה בלתי אפשרי בעבר מבלי לפרוץ את האייפון שלך.

לכל השאר, אי אפשר לדעת מראש מה יש באייפון שבור, אז אנחנו בודקים את האפליקציות באייפון שלא נשבר.

איזו עצה היית נותן למפתחי אייפון צעירים? מהן המלכודות שיש להימנע?

אל תזניח ניהול זיכרון טוב, אל תכניס את כל הממשק לאותו קובץ, השתמש ב-Instruments כדי לייעל את הקוד. שאל את עצמך לפני שאתה חושב ש-Objective C או Interface Builder הם גרועים.

קח את קורס הפיתוח האינטנסיבי שלנו בן שלושה ימים
אייפון! iPhone-class.com

ותחשוב על בדיקת האפליקציהבמצב מטוסלפני שליחתו לאפל.

יאללה, תחזית קטנה... איך אתם מדמיינים את האייפון הבא?[הערת העורך: ה-3GS עדיין לא הוכרז כאשר הגשנו את השאלות שלנו...]

קל, מכיוון שהתשובות הללו נעשות לאחר שחרורו: מצלמה מהירה יותר וטובה יותר. המצפן נהדר אבל לא חשבנו שנמצא אחד.

באמצעות ממשקי ה-API החדשים שהם מעמידים לרשותם (Bluetooth, MapKit, CoreData, אפשרות למכירת שירותים באפליקציה וכו'), אנו יכולים לצפות לסוגים חדשים של תוכנות ושימושים חדשים שעדיין לא נחשדו.

אנו מודים מקרב לב ל-Sen:te על המענה לשאלותינו!

Related Posts