יום שישי, 21 בדצמבר 2012

במה שונה פיתוח למובייל?

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

שפה חדשה

האם אתם שולטים ב Objective-C? ב JavaScript? ב HTML5 וב CSS3? ב ++C/C?
אם אתם הולכים לפתח למובייל - ייתכן ותאלצו ללמוד שפת תכנות חדשה: זו כבר לא כל-כך בחירה שלכם מה אתם מעדיפים - זו דרישה של הפלטפורמה.

סביבת עבודה חדשה

כמה מכם מכירים Linux או Unix? כמה רגילים לעבוד ב Mac OS או חלונות 8 (שבה חוויית השימוש שונה לחלוטין)?
האם אתם רגילים ל Visual Studio, Eclipse וגם Xcode?
ייתכן ותאלצו להתרגל לסביבה חדשה וכלים חדשים.

ספריות חדשות

הביטו במפה הבאה שיצרתי. עם כמה מהספריות הללו עבדתם כבר? האם אתם מזהים לאיזה תחום כל ספרייה שייכת?
אתם בוודאי יודעים שלהשתמש בצורה יעילה בספריה - לוקח זמן. ייתכן ויש לא-מעט ללמוד על מנת לפתח אפליקציות מובייל בצורה יעילה.
(נכון: חלק מהספריות ה javaScript נכונות גם לפתרונות Desktop)

חזרה לפיתוח של אפליקציות מקומיות / Rich Client  / אפליקציות שולחניות

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

משתמשים חדשים

כמה מהמשתמשים שלכם כיום:
  • נמצאים במרחק-נגיעה מהמחשב 90% מהזמן?
  • אומרים: "אל תתן לי להקליד במקלדת"?
  • מסירים תוכנה אם היא לא הגיבה תוך 2-3 שניות?
  • עובדים בתנאי רעש ותאורה לקויה?
אנו נוהגים לומר שאותם האנשים, עם אותם צרכים והעדפות, ברגע שהם נוגעים במכשיר מובייל - הופכים למשתמשים מזן חדש.

מומחיות חדשה

האם אתם מומחים למגע (Touch) ומחוות (Gestures)? יודעים להבדיל בין "התנהגות חלקה", "קצת מקרטע" ו "ממש flickering!"? ואם ההתנהגות לא-טובה, מה עושים בכדי לשפר אותה?
האם אתם מכירים את רוב הדגמים של המחשבים של הלקוחות שלכם ואיזו חומרה יש להם? חומרת Desktop היא סטנדרטית למדי - לא כך במובייל.
האם אתם יודעים למה אין (כמעט) סמארטפונים עם חלת-דבש? (גרסת אנדרואיד)
כיצד אתם בוחרים מה ייכנס ל Notification Area, ל Action Bar או כ Charm?

שינוי בסדרי-גודל

מעבר מפיתוח אפליקציות (Application) יחידה עם הרבה פונקציות --> לפיתוח אפליקציות (Apps) רבות בעלות פונקציה יחידה כל אחת. סביר להניח שאם לתוכנה שלכם יש כיום תפריט ראשי עם 6 פריטים, נכון יהיה בעולם המובייל להפוך 4 מהם ל-Apps* ו 2 אחרים "להעלים" (כלומר לומר למשתמש: עבור פעולה זו - לך לממשק ה Desktop).

* בלתי-תלויים!

חוקי עיצוב UI חדשים

נכון - מעולם לא הייתם מעצבי ה UI באופן רשמי, אבל תמיד הייתה לכם השפעה.
בעולם המובייל יש רף חדש של חוויית משתמש של אפליקציות פשוטות ו"זורמות". אפליקציות שלא מתנהגת בהתאם - בולטות לרעה.
יש אתגרים חדשים כאשר עובדים על מסך של "3 עד "5 (לסמארטפון) או "7 עד "10 (טאבלט) כאשר אמצעי ההצבעה הוא אצבע ולא עכבר / עט.
יש כמובן גם כמה קונבנציות חדשות, לכל מערכת הפעלה - וגם בכלל בין מערכות ההפעלה השונות.

חזרה לתכנות מוגבל-משאבים

למכשיר סמארטפון ממוצע יש 512MB זכרון סה"כ - לפעמים פחות. 
המעבד חלש משמעותית יותר, ה Storage קטן יותר והרשת אטית יותר.
מתי בפעם האחרונה לא היה לכם 1MB של זיכרון כשרציתם אותו??

חוקי ביצועים חדשים

ביצועים של אפליקציית מובייל מודדים במילי-שניות (זמן תגובה), צריכת זיכרון (ב MB) וכו' - כל אלה כנראה לא חדשים.
מדד חשוב חדש הוא (O(watt - מדד הסוללה. סוללה היא תמיד משאב בחסר כשמדובר במכשירים ניידים - וחשוב מאוד לתכנן את המערכת שלכם על מנת לנצל אותה בצורה נכונה. לדוגמה: להביא מידע קצת פחות עדכני ובאצוות גדולות, כי העלות של "יצירת connection", מבחינת הסוללה - היא אדירה.

ערוצי הפצה חדשים

כלומר אפ סטורס, כפי שכבר כתבתי עליהם בפוסט הזה

אינטגרציה הדוקה יותר עם מערכת ההפעלה

בפיתוח אפליקציה למערכת ההפעלה "חלונות" יש כמה אפשרויות אינטגרציה - אולם מלבד הוספה של Tray Icon, מעטות האפליקציות שאכן התממשקו למערכת ההפעלה מעבר ל"ריצה בחלון שהוקצה להן".
במובייל - אנו רואים הרבה יותר אפשרויות מצד מערכת ההפעלה והרבה יותר הענות מהמפתחים להתממשק למערכת ההפעלה. הסיבות העיקריות לכך הן שטח המסך המוגבל ורף חוויית המשתמש הגבוה יותר המקובל. בניגוד לחלונות, בה לרוב האפליקציות המגיעות עם מערכת ההפעלה (Notepad, Calculator) לא הייתה אינטגרציה משמעותית עם מערכת ההפעלה, מלבד ההפעלה הבסיסית, אפל דווקא הדגימה באפליקציות שהגיעו עם האייפון אינטגרציה גבוהה - והמפתחים הלכו בעקבותיה.

חלונות 8 מנחה את המפתחים לא לספק חיפוש-בתוך-האפליקציה מתוך ה UI של האפליקציה, אלא מתוך מקום מרכזי במערכת ההפעלה. כך היא נהגה גם עבור האפליקציות שלה.

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




שיהיה לכם בהצלחה!



אין תגובות:

הוסף רשומת תגובה