
עם ימי השמש שבאים, אולי החלטת להתחיל:תכנות iOS הוא אופנתי והסיכוי לראות את האפליקציה שלו גורמת למיליונים לדגדג את נשמת המפתח שאתה.אבל מאיפה להתחיל? ולאיזו ספרות עלינו לפנות?
תומאס סרלנדי וז'אן-מארק לקוסט הם שני שמות גדולים במגזר. כבר היה לנוהתראייןתומס במהלך השחרור הראשון של העבודהתכנות iOS
, המוקדש ל-iOS 3. מאז, הספר הועשר מאוד, והותאם במיוחד לשיפורים הרבים הקיימים בגרסאות האחרונות של iOS.
אם היית צריך לבחור רק אחד, אתה יכול לזרוק את עצמך בלי לחשוב עלתכנות iOS6
של שני החברים שלנו, יצירה נגישה ומקיפה כאחד. גם מפתחים שכבר מחויבים יותר יוכלו למצוא כמה טיפים ודרכים לעשות דברים שהתיעוד האינטרנטי לא תמיד מכסה. כי אם אנחנו קונים ספר, זה לא כל כך בגלל שאנחנו מתעצלים לקרוא את התיעוד, אלא לרכוש שיטות ועקרונות שהאוטודידקט לא תמיד רואה באים אליו.
קנה את הספר באתר Fnac.com(34€20)
ומכיוון שזה שלנוספר השבוע
, הנה ראיון קצר עם Thomas Sarlandie, שבו נדון בשינויים הגדולים בהווה ובעתיד ב-iOS.
מהן התכונות החדשות הגדולות של iOS 6 בצד הפיתוח?
iOS6 הביאה טונות של שינויים עבור המשתמש וכמובן, גם את חלקו בשינויים עבור המפתחים.
ישנם הרבה שינויים בממשקי UIKit API שהם לב ליבה של מסגרת הפיתוח של iOS ושינויים אלה דרשו עדכון רציני של הספר הזה. בין החשובים ביותר, אנו יכולים לציין את הגעתם החזקה של Storyboards שכבר היו קיימים ב-iOS5 אך הועשרו עוד יותר ואשר אנו ממליצים כעת לכל פיתוח חדש, או המנגנון החדשפריסה אוטומטיתמה שמאפשר לך לשנות את גודל הממשק באופן אוטומטי. האחרון כמעט חיוני כדי לנהל את הפרופורציות המעט מסוימות של ה-iPhone5 ומקל מאוד על פיתוחי אייפד (שעבורם הממשק חייב לעבוד בכל הכיוונים).
מעבר להתפתחויות החשובות הללו, אנו מציינים שתי מגמות חשובות מאוד.
• הראשון הוא ריבוי מסגרות וספריות בתוך iOS. בשנת 2008 (מהדורה ראשונה של הספר), ניתן היה להכיר ולשלוט בכל iOS3 - למעט אולי OpenGL, השמור למפתחי משחקים עם iOS6, יש מספר מרשים של ספריות המגיבות לצרכים מאוד ספציפיים ונדירים יהיו המפתחים המסוגלים להשתלט על הכל.חלק מהמפתחים בוודאי ישמחו לראות את הפלטפורמה מועשרת ומסירים את המגבלות, אחרים יצטערו לראות ש-iOS דומה יותר ויותר לפלטפורמות אחרות בהן יש 10 ספריות העונות על אותם צרכים.. מפתחים מתחילים ילכו לאיבוד כאשר יעמדו בפני כל כך הרבה אפשרויות וייתכן שלא יתחילו בדרך הנכונה. המנוסים ביותר ייאלצו בסופו של דבר ללמוד את כולם על ידי ריטוש פרויקטים שונים, במקום להתמחות. לכן בחרנו לעתים קרובות ככל האפשר להציג בספרנו רק את הפתרון המודרני והפופולרי ולא לדבר על השאר. לכן אנו ניגשים ל-ARC אך הסרנו כל מה שקשור לפיתוח עם שמירה/שחרור; אנחנו מדברים על StoryBoards אבל לא עוד על קבצי XIB.
הטרנד השני, ואלה חדשות מצוינות, הוא זהאפל הפכה את המסלול לגבי בחירות מסוימות. זה מראה שלתפוח עדיין יש הרבה אופי ובמיוחד האומץ לזהות את הטעויות שלו. על ניהול סיבובים, על ניהול זיכרון (viewDidUnload נעלם למשל), על אנקפסולציה של בקרים וכו' היו הרבה פידבקים שמבטיחים לנו שהפלטפורמה תישאר נקייה כי הם מתאמצים לחדש בעת הצורך, במקום לתת לבעיות להצטבר.
זה גם שיעור נהדר עבור כולנו המפתחים...

האם היום אנחנו יכולים לשקול פיתוח ל-iOS 6 בלבד? באיזו מערכת הפעלה אתה עדיין ממליץ לתמוך באפליקציות?
הכל תלוי כמובן במשתמשי היעד ובהיסטוריה של האפליקציה. יש (לצערי המפתח ולמרבה המזל של המשתמשים) הרבה ישניםמכשיריםבמחזור שאינו ניתן לעדכון (אייפד 1, אייפון 3G וכו'). אפליקציה שמטרתה להיות מאוד מיינסטרים תזכה בכמה אחוזים מנתח שוק על ידי הישארות ב-iOS5. אוּלָם,ה-SDK של iOS6 יכול מאוד להקל ולהאיץ את הפיתוח של יישומים, אז כמו לעתים קרובות ב-IT, יש לעשות פשרה: האם עדיף לתמוך בכמה אחוזים יותר משתמשים, או להציע חוויה טובה יותר וכמה תכונות נוספות למשתמשי iOS6 בלבד? לכל אחד יש את התשובה שלו.
למתחילים, עדיף לא לבזבז זמן בלימוד iOS5 ולהבין את העבר: התחל ישירות ב-iOS6.
מהם התנאים המוקדמים להבנת עבודה כזו? האם מפתח PHP אוטודידקט יכול להיכנס בקלות לתכנות iOS?
הדבר החשוב ביותר הוא שיהיה לך מושג טוב מהי תכנות מונחה עצמים. הספר מכסה את דפוסי העיצוב החשובים ביותר לפיתוח iOS, אך כל ניסיון בתחום זה יהיה בעל ערך רב בהבנת איך ממשקי API עובדים ובבניית אפליקציה מוצקה.
התחביר המוזר, סביבת הפיתוח הקצת ישנה והאווירה הפנאטית שלפעמים המקיפה את iOS יכולים להפחיד מפתחים מסוימים, אבל ברגע שהצעדים הראשונים נעשו דרך מעטה הערפל הזה, אנו מגלים ביטוי אקספרסיבי ונעים מאוד (שמות הטיעונים: קשה להסתדר בלעדיו כשטעמתם אותו!), כלים חדשניים (LLVM להידור, ניתוח קוד סטטי, ARC וכו') וקהילה מאוד דינמית ומאורגנת היטב (הסרטונים של סטנפורד, אלה של WWDC, שירותים כמו וכמובן המון בלוגים, פורומים וכו')
מה אתה מצפה מ- iOS 7, מבחינת SDK?
תמיכה בציוד היקפי חדש כמובן -אנחנו מדברים על Apple TV כבר שנים, iOS תהיה דרך מצוינת לפתח יישומים יפים, עשירים ודינמיים על מסכים גדולים. אנחנו כבר יכולים לעשות את זה חלקית בזכות AirPlay, לא חסר הרבה...
כמפתח, מה דעתך על פריצת jailbreak בכלל, ובפרט על כל הבאזז סביב evazi0n?
אני אידיאולוגית נגד פטנטים על תוכנה וחוקים מטופשים שאוסרים עליך לעשות מה שאתה רוצה עם מה שאתה קונה(במיוחד הפותח). אני חושב שאנחנו צריכים להיות מסוגלים להריץ לינוקס בטלפון שלנו כמו שאנחנו יכולים להריץ לינוקס ב-Mac שלנו, ושמשימושים "מופנים" אלה יכולים להגיע רעיונות טובים רבים שניתן להשתמש בהם במערכת ההפעלה או ביישומים. מרוץ פריצת הכלא הוא דבר טוב מכיוון שהוא גם מאפשר לך לבדוק ולשפר את האבטחה של iOS. אני משוכנע שזו ללא ספק מערכת ההפעלה הניידת המאובטחת ביותר כיום.
כמפתחי אפליקציות, אני לא פורץ את הטלפון שליכי למעשה שמתי לב כמה פעמים לבעיות עם האפליקציות שלי בטלפונים שבורים (התראות לא עבדו טוב, למשל, קריסות וכו'). אני מעדיף שתהיה לי סביבה זהה לזו של המשתמשים שלי ואוכל לבצע עדכונים ברגע שהם יוצאים לבדוק את האפליקציה שלי עליה.
כמשתמש אני גם לא פורץ ג'יל כי אני מאוד מרוצה ממה שהאייפון הלא-שבור מציע ליועדיין לא ראיתי פיצ'רים קטינים ששמורים למשתמשי jailbreak (שימו לב בתגובות! אני אקרא אותם בעיון!)
סוף סוף אני חושב שישלא מעט טלפונים נשברו בכלא רק כדי להיות מסוגל להתקין אפליקציות פדוקות. אני מגן על הרעיון שאני מוכן לשלם עבור משהו אם פעולת הרכישה פשוטה והמחיר סביר. אפל באמת הפכה את רכישת האפליקציות לפשוטה ולדעתי יש רוב של אפליקציות "במחיר טוב" בחנות: אני שמח לשלם עליהן ובכך לתמוך במפתחים עצמאיים. אני ממליץ בחום לכולם לעשות את אותו הדבר!
קנה את הספר באתר Fnac.com(34€20)
תודה רבה על הראיון הקטן הזה! אם יש לכם שאלות, אל תהססו לשאול אותן בתגובות!