פיתוח למובייל: Native או Web? (חלק א’)

החלטתם לפתח למובייל, אבל על מה כדאי ללכת: נייטיב או ווב? באיזו מערכת הפעלה כדאי להתחיל: iOS, אנדרואיד, Windows Phone או אולי בכלל FireFox OS ומה לגבי תמיכה בסמארטפונים או טאבלטים? ליאור בר און עושה קצת סדר בבלאגן

mainהחלטתם לפתח אפליקציית מובייל, אולי אפליקציה חדשה, ואולי וריאציה מובילית למערכת קיימת. הצעד הטבעי הראשון הוא לפנות לאנשי המרקטינג או ניהול המוצר ולשאול: “באילו מכשירים עלינו לתמוך?” רשימת המכשירים יכולה להשפיע רבות על בחירת הטכנולוגיה.

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

סביר אגב, שהתשובה שתקבלו מאנשי המוצר תהיה: “iPhone בעדיפות ראשונה, iPad בעדיפות שנייה ומאוחר יותר נרצה כנראה לתמוך גם ב-Android”, שמשמעה בפועל הוא בד”כ: “אנו הולכים אחרי העדר, אנחנו לא ממש יודעים”.

יש לנו כאן דילמה מהותית וכמעט חדשה:

עבור אפליקצייה שולחנית הבחירה בין אפליקציית native לאפליקציית ווב היא ברורה וקלה יותר: הצידוק לאפליציית native הוא בעיקר צורכי גרפיקה / זמן אמת (משחקים / תוכנות גרפיות / כלי productivity) או כלים ספציפיים למערכת ההפעלה (למשל אנטי-וירוס). כל השאר – הלך לווב. מכיוון שמערכת ההפעלה “חלונות” הייתה מונופול בצד ה-Client – הפיתוח נעשה בכלים מתאימים (Windows Forms/WPF) עם נישה קטנה של UI בג’אווה (או שפות VM אחרות) – בעיקר לכלי אדמיניסטרציה.

המונופול של Windows ו-Intel אפשר תאימות גבוהה, כך שאפליקציה שפותחה לחלונות ונבדקה על מחשב Dell, רצה היטב גם על מחשב מכל דגם של HP או Lenovo.

אנו נראה שהדילמה בפיתוח למובייל דומה – אך שונה ומורכבת יותר. באיזה מכשירים לתמוך? הרבה מכשירים, הרבה יצרנים.

BYOD או Bring Your Own Device

לפני שנה שוחחנו עם לקוח גדול שבחר להשתמש במערכת שלנו. “באיזה מכשירים אתם מתכוונים להשתמש?” – שאלנו. “משיקולי אבטחה, תהיה לנו מדיניות נוקשה של iOS [ב] בלבד. לא נרשה חיבור מכשירים אחרים למערכת”. “כמה נוח”, חשבנו לעצמנו, “הנה לקוח שסגור על עצמו”.

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

תופעה נפוצה מאוד בארגונים היום היא תהליך שנקרא Bring Your Own Device (או בקיצור BYOD) – בה לעובדים יש מכשירים בעלי יכולות שהם רכשו והם רוצים להשתמש בהם לצורך העבודה.

BYOD

נכון לשנת 2013, BYOD הוא מיינסטרים

מ-BYOD נהנים שני הצדדים: הארגון מפחית עלויות (מכשירים, הכשרה, חידוש מכשירים) בעוד העובדים יכולים לעשות יותר עבודה ובדרך שהם בוחרים. ניתן למצוא כיום גם מדיניות של Buy Your Own Device – בה הארגון מספק לעובדים תקציב בכדי שיקנו לעצמם מכשיר בעצמם וע”פ בחירתם (תחת מגבלות מסוימות) – סימן לחשיבות שיש לבחירת המכשיר ע”י העובד.

למורת-רוחם של גופי IT רבים, מדיניות BYOD היא לרוב איננה יוזמה של גוף ה-IT אלא תגובה ללחץ ו”קביעת עובדות” מצד היחידות העסקיות (Line Of Business) בשטח.

המשמעות המעשית של BYOD היא הצורך לתמוך במגוון רחב של מכשירים, ללא יכולת של גוף ה-IT להכתיב או לבחור את המכשירים, כפי שיכול היה במשך שנים להכתיב את חומרת ה-PC או את הדפדפנים שבשימוש [ג]. דיי נדיר היה לראות עובד מחסן שמביא PC מהבית לעבודה ודורש לחבר אותו למערכות הארגוניות.

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

רוב מפתחי האפליקציות מתכננים לתמוך ב2 פלטפורמות או יותר

רוב מפתחי האפליקציות מתכננים לתמוך ב2 פלטפורמות או יותר

דיי ברור שפיתוח Native (ל-iOS, אנדרואיד, בלאקברי, Windows 8, וכו’) מספק את מירב האפשרויות לפיתוח האפליקציה – ביצועים טובים יותר ויכולת לגשת ליכולות ספציפיות של המכשיר וכו’ – ממש כפי שאפליציית Windows Native יכולה לעשות יותר מאפליקציית ווב הרצה על חלונות. בניגוד למחשב השולחני, אם נכתוב אפליקציה native למובייל בטכנולוגיה מסוימת – נגיע לפחות מ-50% מהמשתמשים. כדי להגיע לאחוז דומה של משתמשי “חלונות” (כ-90%), עלינו לפתח עבור 3 מערכות הפעלה שונות ובסביבות פיתוח שונות, מה שמכעט משלש את כמות ההשקעה – מכיוון שאלו מערכות הפעלה שונות.

לא דיברנו עדיין על עוד 2 מכפילים נוספים המשפיעים על “מספר הפלטפורמות בפועל”:

  • טאבלט מול סמארטפון – אפליקציות לא נראות ומתנהגות אותו הדבר על המכשירים הללו.
  • גרסאות שונות של מערכת ההפעלה בעוד “חלונות” לא השתנתה כמעט מאז שנת 2000 עבור מפתחי אפליקציות – מערכות ההפעלה של מכשירי מובייל עוד צעירות ומשתנות תדיר.

בכדי להגיע ל-90% ממשתמשי מכשירי המובייל, עליכם לתכנן ולבדוק לא שלוש, כי אם יותר קרוב ל-6 עד 10 פלטפורמות שונות. הפלטפורמות שחוזים שיהיו הנפוצות ביותר לשנים הקרובות הן:

  • סמארטפון: iPhone (ו-iPod Touch)
  • סמארטפון: אנדרואיד של סמסונג (סדרות Note, Ace, Galaxy וכו’)
  • טאבלט: iPad
  • סמארטפון: Windows Phone
  • טאבלט: Windows 8 (הערה: Windows 8 ו-Windows Phone הן מערכות הפעלה דומות, אך שונות).
  • טאבלט: Amazon Kindle Fire (נפוץ בקרב משתמשים פרטיים).
  • טאבלט אנדרואיד* – אולי Galaxy או Nexus
  • סמארטפונים של יצרן אנדרואיד* נוסף. HTC, ZTE או מוטורולה הן המועמדות המובילות.
  • מכשירים של מערכת הפעלה רביעית. מתמודדות עיקריות: Tizen אולי BlackBerry 10 או FireFox OS.
  • מסכים (כבר לא נכון לקרוא להם “טלויזיות” או “טלויזיות חכמות”) המריצים מערכות הפעלה מוביליות לינק1 לינק2.

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

תחזית לפילוח מערכות ההפעלה המוביליות בשנים הקרובות

תחזית לפילוח מערכות ההפעלה המוביליות בשנים הקרובות

נתח השוק שמנבאים למיקרוסופט עשוי להפתיע רבים, אולם לקוחות עסקיים רבים “ישבו על הגדר” במשך זמן-מה ולא בחרו פלטפורמה מובילית לעבוד איתה. בקרב ארגונים, אפל נתפסת כ”ממוקדת לקוח-פרטי” (Consumer-Oriented), לא-קשובה מספיק ללקוח העסקי וגם חזקה או עצמאית מדי בכדי “להתגמש” מול לקוחותיה העסקיים. אנדרואיד… <שיעול> נתפסת כאלטרנטיבה משמעותית פחות מוצלחת – אדבר עליה בפוסט הבא. מיקרוסופט היא חברה שהארגונים כבר רגילים לעבוד איתה וסומכים עליה שתהיה קשובה לצורכיהם.

כשראיתי לראשונה את התחזיות המציבות את מיקרוסופט בקו אחד עם אפל בתוך כמה שנים, זה נראה לי דמיוני: Windows Phone 7 הייתה דיי מפגרת אחרי המתחרות, ונראה היה שמיקרוסופט מאחרת ביותר מדי בכדי שיהיה לה סיכוי להתמודד ברצינות ולהשלים את הפער.

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

UX Reusability

עוד אלמנט שמשפיע על השיקול בין Native ל Web הוא הקושי לבצע UX Reusability בעולם המובייל. בגלל מוגבלות מכשירי המובייל (מסך קטן, מקלדת לא-נוחה), האינטגרציה בחווית השימוש בין מערכת ההפעלה לאפליקציות היא גבוהה ממה שנהוג ב-Desktop.

לדוגמה: ה-UX Guidelines של חלונות 8 אוסרות על אפליקציה להוסיף אלמנט חיפוש בשטח האפליקציה. החיפוש נעשה מתוך SideBar של מערכת ההפעלה (נקרא “Charm”) גם כאשר מדובר בחיפוש בתוך-האפליקציה. למכשירי ה-Windows Phone יש כפתור חיפוש פיסי בתחתית המכשיר.

windows 8 search

משתמש שהתרגל לעבודה במכשיר יכול להיות מתוסכל מאפליקציה שלא מפעילה את החיפוש שלה בעקבות לחיצה על כפתור ה-Search הפיסי או בצורה שאליה הוא רגיל.

דוגמה נוספת:

ios notificationsל-iOS יש מערכת של חיווי Push notifications משלה, אותו עיגול עם מספר בפינה הימנית העליונה של צלמית האפליקצייה. משתמשי המובייל על iOS מצפים שאפליקציות המחוברות לנתונים מעודכנים – תספק חיווי על עדכונים באופן זה.

אפליקציה שפותחה במקור, למשל, לאנדרואיד ועברה הסבה, שלא כוללת אלמנט זה – תרגיש “נחותה” כאשר היא נוחתת על מסך הבית של מכשיר ה-iOS. מיותר לציין שלאפליקציות ווב אין בכלל גישה ליכולת זו.

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

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

הנה דוגמה לאפליקציית הווב של Financial Times, והדרך בה היא מציגה חיפוש על טאבלטים במערכות הפעלה שונות. בסקאלה שבין “UI כמו של מערכת ההפעלה” עד ל “UI עצמאי”, FT בחרו גישת ביניים של “אזרחות טובה”. האפליקציה בסה”כ נראית אותו הדבר על כל הפלטפורמות, מלבד אלמנטים שסותרים בצורה משמעותית את ה-UX Guidelines של הפלטפורמות השונות [ד].

ft.com mobile app

[א] Phablet – יציר הכלאיים בין טאבלט לאייפון. לרוב בעל מסכי “5 עד “7, שניתן לבצע מהם שיחות. דוגמה בולטת: סדרת ה Galaxy Note של סמסונג.

[ב] מערכת ההפעלה של מכשירי אפל: iPad, iPhone ו iPod Touch.

[ג] בארגונים רבים, IE הוא הדפדפן היחידי שנתמך לשימושים ארגוניים. Chrome יכול לשמש רק לגלישה אישית באינטרנט או שלעתים אף מונעים / אוסרים התקנה של כל דפדפן מלבד זה שהוחלט ע”י ה IT (שזה לרוב IE).

[ד] כדאי להכיר:

Apple UX Guidelines (link)
Android UX Guidelines (link)
Windows 8 UX Guidelines (link)

הפוסט פורסם לראשונה בבלוג ארכיטקטורת תוכנה.

ליאור בר-און

ליאור בר-און הוא Chief Architect בחברת סטארטאפ ישראלית גדולה.

הגב

8 תגובות על "פיתוח למובייל: Native או Web? (חלק א’)"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
Ran Mizrachi
Guest

אפשר לבחור ללכת בכיוון של Hybrid application שנותן מענה מצויין גם לווב וגם לNative.
ישנן מס' פלטפורמות מצויינות היום כגון Titanium PhoneGap אשר נותנות גישה לרוב יכולות הNative דרך Javascript Api's.

Michael Arenzon
Guest

כמי שעבד עם PhoneGap זה דבר נוראי, איטי ברמות ולא חסר חסרונות.
אם הולכים על הייבריד, עדיף בכמה פעמים טיטניום :)

אקס שופ
Guest

העולם נע לעבר אפליקציות web. מערכת ההפעלה הגרנדיוזית של גוגל[chrome os] הקדימה מאט את זמנה, אך ככל הנראה העולם באמת הולך לכיוון הזה.
ככל שמהירות הגלישה והטכנולוגיה משתפרת, אנו יכולים להנות מאפליקציות web איכותיות וחזקות יותר. היתרונות הגלומים בעולם הזה הם רבים:
– לא יהיה צורך להחזיק חומרה חזקה במיוחד ויהיה ניתן לגשת לאפליקציות מכל מקום.
– סנכרון מלא בין מכשירים שונים, כיוון שאפשר לגשת לאפליקציות מכל מכשיר.
– הנתונים שלכם ישמרו על שרתים מרוחקים, וכך בעצם יהיה לכם נפח בלתי מוגבל.
ועוד יתרונות רבים יש לנושא,
לצערי גוגל כרום os כנראה הקדים את זמנו, אנחנו עדיין לא מוכנים למעבר הזה.

Elad Yarkoni
Guest

כל עוד גוגל מתעקשת להשאיר את הדפדפן הנייטיב המנוון שלה במכשירי הandroid זה בלתי אפשרי לפתח אפליקציות Hybrid שנראות ומרגישות טוב על מכשירי android.

טיםן
Guest

פששש המצאת מושג BYOD וזרמת איתו הלאה אה?
כתבה של בזבוז זמן. אמרת מה שכולם יודעים.

פבל
Guest

ליאור מדוע הפסקת לעבוד באימפרבה? חברה מדהימה!

עידן
Guest

טיםן – המצאת שם וזרמת איתו הלאה, אה?
איך בדיוק הוא המציא מושג? זה מושג קיים וידוע.

כתבה מעניינת, כל הכבוד.

guy
Guest

כתבה מצוינת עזרה לי מאוד,
תודה רבה!

wpDiscuz

תגיות לכתבה: