כמה מילים על: אנדרואיד – העתיד, וגם התמחור של גוגל לנקסוס 5

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

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

אחת הנקודות שרבים התווכחו עליה היה העניין של סבסוד הנקסוס 5. האם גוגל מסבסדת את המכשיר? גוגל כמובן לא אומרת מילה בנידון וגם לא LG, מה שנותר לעשות הוא לחפש רמזים ומקרים אחרים. בישראל חברת רונלייט מוכרת את מכשיר הנקסוס 5 בגירסת ה-16 ג'יגהבייט במחיר סופי לצרכן של 2800 שקלים. מנכ"ל רונלייט אמר בתגובה לשאלה לגבי המחיר לכלכליסט כי "רונלייט רוכשת את המכשיר באופן ישיר במחיר גבוה משמעותית מהמחיר שאתם רואים בגוגל פליי. זאת חלק מהמדיניות של גוגל, שמתמחרת את המכשיר באופן שונה עבור שווקים שונים בעולם".

לרונלייט אין הסכם יבוא מגוגל כי גוגל אינה יצרנית המכשיר. לרונלייט יש זכויות יבוא והפצה של מכשירי LG, ו-LG היא יצרנית הנקסוס 5, כך שרונלייט רוכש את המכשיר מ-LG, ו-LG גובה מחיר יותר גבוה כשהיא מוכרת את המכשיר ליבואנים מאשר המחיר שגוגל משלמת ל-LG על אותו מכשיר, כך בסופו של דבר גוגל בעצם מגלגלת את החסכון לצרכן שרוכש ישירות ממנה וזהו חלק מהסכם NEXUS שגוגל חותמת עם כל יצרן שנבחר לייצר מכשיר NEXUS כלשהו (כך היה גם עם סמסונג ועם HTC ועם ASUS). בדיוק את אותו עניין ניתן לראות אצל ספקי הסלולר האמריקאים. כך לדוגמא, T-MOBILE מוכרת את הנקסוס 5 ב-450 דולר וגם חברת SPRINT בארה"ב מוכרת את המכשיר ב-450$ אם קונים אותו בתשלום רגיל.

אם אתם מחפשים לרכוש מחו"ל את המכשיר בזול, חברת BUY2USA מציעה את הנקסוס 5 כולל מע"מ, מיסי יבוא וכו' במחיר של 2199 שקל. 

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

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

אחד היתרונות של אנדרואיד כמערכת הפעלה, הוא שהמערכת זמינה להרצה על כל פלטפורמה מבחינת "ברזל". זה יכול להיות מעבד X86, יכול להיות אחד ממאות גירסאות מעבדי ה-ARM, זה יכול להיות MIPS (כן, החבר'ה האלו עדיין קיימים…). איך גוגל עשו זאת? בצורה פשוטה: האפליקציות ברובן כתובות ב-JAVA והדבר שמריץ אותם (Dalvik) זמין כקוד פתוח לקומפילציה ולשימוש, כלומר מספיק שהמפתח כתב את האפליקציה שלו ב-JAVA וקימפל אותה שתרוץ תחת אנדרואיד, היא תאורתית תרוץ על ARM, X86 וכו'. יש כמובן כל מיני מגבלות (חלקן קשורות ל-GUI זוועתי, פונטים וכו'), אבל באופן עקרוני, אם שחררת אפליקציה לאנדרואיד שכתובה ב-JAVA, זה ירוץ על פלטפורמות גם כשהן לא ARM.

ליתרון הגדול הזה יש גם חסרון, והוא ה"מכונה הוירטואלית".

אנדרואיד, באופן עקרוני, מריץ כמעט כל אפליקציה כמכונה וירטואלית. תנסו לחשוב על הרמה של שרת ESXI כאשר כל אפליקציה היא VM (רק כשבאנדרואיד זה קטן בהרבה). מה ש-Dalvik עושה בעצם, הוא מקים מכונה וירטואלית שתריץ את האפליקציה, וממיר באופן דינמי את האפליקציה מ-JAVA לשפה בינארית. התרגום נעשה דינמית כל הזמן. היתרון הוא כמובן שם אפליקציה אחת נופלת, המערכת כולה לא נופלת. החסרון הגדול הוא שתרגום דינמי דורש משאבים כמו סוללה, זכרון ומעבד וכשיש משאבים מוגבלים, התרגום הדינמי זז לאט. אתם מוזמנים להיזכר במכשירי אנדרואיד קצת יותר ישנים כשניסיתם לגלול מסך והוא יותר "קפץ" מאשר ביצע גלילה חלקה. במקרה כזה, פשוט אין מספיק זכרון ואנדרואיד "נלחם" כדי להעיף אפליקציות שלא משתמשים בהן כרגע, לקמפל דינמית, להציג ועוד שורת משימות. 

באנדרואיד 4.4 גוגל הוציאו משהו חדש שנקרא ART (ראשי תיבות: Android Run Time): מה ART עושה? משהו פשוט: כשאתה מתקין את האפליקציה שלך והמערכת שלך מוגדרת לעבוד עם ART, הוא ממיר את האפליקציה להיות Native, כלומר לא יהיה צורך בתרגום דינמי כשתריץ את האפליקציה, היא תרוץ כאילו היא נכתבה למעבד שלך ולא ב-JAVA. היתרון העצום: בערך 50% יותר ביצועים בלי לשנות שורה מבחינת המפתח, חסכון בחיי סוללה (אין תרגום דינמי). חסרון.. האפליקציה תופסת יותר מקום במכשיר. כמה יותר? בין 10-20% בערך (תלוי כמובן באפליקציה). 

ART מוגדר עדיין כנסיוני. גוגל עובדים על זה כבר שנתיים וזו הפעם הראשונה שהם מוציאים אותו והוא זמין אך ורק באנדרואיד 4.4 ובמכשירים מבוססי 4.4. כדי להפעיל זאת, יש פונקציה ב-Developers לשנות Runtime מ-Dalvik ל-ART. אם תבחרו לעבור ל-ART, המכשיר יכבה ויופעל שנית, ואז יתחיל החלק של המרת האפליקציות ל-Native, פה כדאי שתחברו את המכשיר לחשמל ותצאו לקפה או שתראו איזה פרק, זה יקח זמן (בין 10 ל-40 דקות, לפי דיווחים של משתמשים וכמובן תלוי כמה אפליקציות מותקנות במכשירך). לאחר שזה יסיים, תוכל להנות ממהירות יותר גבוהה בהרצת האפליקציות במכשירך.

אז מה העתיד של אנדרואיד מבחינת מפתחים? גוגל לא תנטוש מחר את JAVA כשפה עיקרית כל כך מהר, בכל זאת, יש המון מפתחים שמכירים JAVA טוב מאשר שפות כמו C או ++C. גוגל היא לא אפל שמצהירה שאם אתה רוצה לפתח למערכת IOS, אז תלמד Objective C, אבל מצד שני גוגל כנראה שבקרוב יתנו יותר דגש על ה-NDK שלהם. ה-NDK זו ערכת הפיתוח של אנדרואיד שמאפשרת לך לכתוב ב-C או ++C ולקמפל ישירות למצב Native אפליקציות לאנדרואיד, וכך האפליקציות שלך ירוצו יותר מהר בהרבה בהשוואה למצב שהן כתובות ב-JAVA, במיוחד אם האפליקציה שלך דורשת כח עיבוד רציני או דרישות גרפיות רציניות (כמו משחקים לדוגמא). 

מדוע גוגל עושה את הצעד הזה? כי המכשירים מבוססי אנדרואיד (וגם IOS) תופסים יותר ויותר מקום בחיים של אנשים ואנשים הופכים את הטלפונים והטאבלטים שלהם יותר ויותר ככלי עיקרי. הוכחות? כל יצרן PC יכול לספר לכם איך מכירות ה-PC צונחות. אפל וסמסונג יכולים לספר בגאווה כמה טלפונים וטאבלטים הם מוכרים, כל רבעון (במיוחד אצל סמסונג) המספרים עוקפים את הרבעון הקודם והמשתמשים באים בדרישות. קח את מיקרוסופט לדוגמא, הם חשבו שאם הם ישחררו לאנדרואיד ו-IOS איזו אפליקציה מצ'וקמקת להציג מסמכי אופיס, המשתמשים ישמחו ויגידו תודה. המשתמשים באו בתלונות, הם לא רוצים משהו שמציג (יש מספיק אפליקציות צד ג' שעושות זאת בהצלחה) – הם רוצים ליצור ולערוך מסמכים, גם מסמכים חדשים – ישירות מהטלפון ומהטאבלט, ומיקרוסופט עובדת על כך, ובשביל אפליקציות כבדות, JAVA לא מספיק (תשאלו את פייסבוק עם אפליקציית האנדרואיד שלהם), צריך Native.

אז אם אתה מפתח, האם כדאי שממחר תשחרר APK כ-Native? לא בטוח, כי אחרי הכל – אינך יודע על איזו פלטפורמה המשתמש יריץ את האפליקציות שלך. מצד שני, כדאי שתוריד ותתקין את ה-NDK ותחזור קצת על הספרות ותרגולים לשפת C או ++C.