אנדרואיד מגיע לכרום OS

chrome-androidעדכון 13.9 – הסבר יותר מפורט איך כרום OS יריץ אפליקציות אנדרואיד.

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

אבל הבעיה הכי גדולה של כרום OS הם האפליקציות. ישנן אפליקציות Web פה ושם וישנם הרבה אתרים שמשחררים "אפליקציות" שהם לא יותר מאשר קיצור דרך לאתר (כמו שמיקרוסופט עושה עם Office Online בחנות של גוגל). יש כל מיני אמולטורים ומשחקים פה ושם – אבל קשה להתווכח עם המציאות – כמות האפליקציות היעודיות לכרום OS היא קטנה.

בשנה שעברה אנדי רובין, האיש שהיה ה"בוס" בכל מה שקשור לאנדרואיד, החליט לסיים את תפקידו הנוכחי ולעבור בגוגל לתפקיד שעניין אותו יותר – רובוטים (עוד תחום שגוגל משקיעה בו המון ואני מאמין שבהתחלת שנה הבאה יוצג משהו) ומי שלקח את הניהול של אנדרואיד (בנוסף לתפקידו הנוכחי כמנהל כרום) הוא סונדר פיצ'אי, ובפניו ניצבה החלטה לא קלה: יש לגוגל 2 מערכות הפעלה. אנדרואיד שמניבה רווחים נאים מאוד לגוגל, וכרום OS שנועדה לזנב במיקרוסופט מלמטה. שתי מערכות ההפעלה אינן תואמות אחת לשניה ואין להן משהו טכני משותף (חוץ מהליבת לינוקס, אבל גם בזה הליבות שונות מהותית מבחינת מה מקומפל פנימה ומה לא). מבחינה טכנית, אי אפשר לבוא ו"לזרוק" מערכת הפעלה אנדרואיד לתוך כרום OS – כי אז המשתמשים יקבלו מערכת מאוד איטית שלא ממש טובה בתמיכה של מקלדת ועכבר ללא מסכי מגע.

בכנס גוגל I/O הסביר סונדר מה הם הולכים לעשות בנידון. הנה וידאו:

 

כפי שאתם רואים בהדגמה, אפליקציות כמו EverNote, Vine, Flipboard רצות בצורה יפה מאוד על כרומבוק.

אבל כפי שהסברתי מקודם – אי אפשר לזרוק מערכת הפעלה של אנדרואיד לתוך כרום OS, צריך לזכור שבתוך מחשבי כרומבוק ישנם מעבדים חלשים וכמות הזכרון הסטנדרטית היא 2 ג'יגהבייט ובנוסף המערכת כבר מריצה את כרום OS, אז רק Boot של אנדרואיד די "יהרוג" את הכרומבוק, שלא לדבר על כך שמשתמש יצטרך לחכות לפחות דקה וחצי עד שהאפליקציה תעלה.

בקטע הזה, גוגל אינה מרחיבה מה היא עושה.

גוגל שחררה היום 4 אפליקציות ראשונות שהן מבוססות אנדרואיד ורצות על כרום OS. הנה דוגמא איך אצלי על כרום OS אפליקציית Vine נראית (מימין כשהמצלמה באפליקציה מצלמת אותי):

Screenshot 2014-09-11 at 20.42.37

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

אז איך בעצם גוגל עושה זאת? עבדכם הנאמן החליט קצת לחטט קצת לעומק…

על מנת להסביר באיזה טריקים גוגל משתמשת, אכיר לכם אפליקציה שמשתמשי לינוקס מכירים שנקראת Wine. מה שאפליקציית Wine עושה בסופו של דבר הוא בעצם להריץ אפליקציות של Windows אבל במקום לתת לאפליקציה את מה ש-Windows דורשת, היא מספקת ל-API את אותו דבר רק מתוך לינוקס. כך לדוגמא, כאשר אפליקציה רוצה לגשת למסך ולצייר לוחם עם חרב שרוצה להשמיד חייזר תוך שימוש ב-DirectX שרץ על כרטיס המסך, Wine נותנת את אותו דבר דרך המערכת הגרפית של לינוקס (שהיא Xorg). מכיוון שלמפתחי Wine אין את קוד המקור של Windows, הם מנסים כמה שיותר לאלתר וחברה כמו Codeweavers עובדת קשה כדי לגרום לאפליקציות כמו אופיס לרוץ בצורה טבעית לגמרי ללא איבוד מהירות על לינוקס ללא צורך ברכישת רשיון Windows.

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

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

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

לסיכום: כיום, לפי Appbrain ישנם יותר מ-1.3 מיליון אפליקציות לאנדרואיד. לאחר שגוגל תסיים את הפרויקט, פתאום תהיה סיבה טובה לרכוש כרומבוק. מבחינת מפתחי אפליקציות מסחריות, ישנו שוק נוסף של משתמשים שיכולים להשתמש באפליקציות שלהם והם יכולים להרוויח עוד. משחקים ותוכנות שהיו זמינים רק לטלפון או לטאבלט יהיו זמינים גם לכרום OS, ואז – כרום OS באמת יחטוף ממיקרוסופט פלח נוסף בשוק ויהיה הרבה יותר פופולרי.

היכן השרתים מבוססי ARM?

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

תחשבו על כל אתר שיש לו כמה אלפי משתמשים ומעלה. יש שרתי DB ויש שרתים שמריצים את האפליקציות. שרתים אלו ימשיכו לרוץ עם מעבדי Xeon כי המעבדים האלו נותנים תוצאות מעולות מבחינת ביצועים, אולם יש גם שרתי Front End, אלו מגישים בד"כ לדפדפני הגולשים תוכן שהוא כבר מעובד – תמונות, JS, HTML וכו', כלומר שרתים אלו אינם מריצים עיבודים רציניים וכל העיבודים הרציניים נעשים על ה-Back End. היתרון בתצורה כזו היא שאתה חוסך גם בחשמל בצורה ניכרת וגם בקירור (עם ARM בד"כ תצטרך קירור פאסיבי או מאוורר קטן או 2, תלוי כמובן מה הציוד שיש באותו שרת).

נשמע טוב, אז מדוע אין שרתים כאלו?

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

ARM כבר שחררו מפרט ארכיטקטורה למעבדי 64 ביט (ARMv8-A) וגם מפרט ל-2 מעבדים: ה-A57 ו-A53. שוב, אלו אינם מעבדים שלקוחות יכולים לרכוש אלא רק תכנונים ומפרטים שחברות יצרני חומרה רוכשים רשיון, מוסיפים דברים משלהם למעבד (אם בכלל) ומשלבים בציוד שאותו בסוף הם מוכרים ללקוחות.

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

תסתכלו בכל שרת שיש לכם, ותגלו שלמרות השינויים בין יצרן אחד למשנהו, השרתים הם די זהים ברמת המאקרו. לכולם יש ACPI, לכולם יש BIOS (החדשים כבר מגיעים עם UEFI), ויש פורט רשת לניהול השרת (IPMI). החברות כמובן בונות דברים מסביב כדי לייחד את השרתים שלהם, בין אם זה שילוב ב-AD שקיים ב-Corporate, מערכת ניהול אחידה לכל השרתים ודיווח על תקלות חומרה ועוד, אבל בסופו של יום, התקנת מערכת הפעלה וחיבור השרת נעשה בצורה זהה על כל השרתים, כך שאפילו טכנאי מתחיל יכול להרים שרת בצורה די קלה (טוב, חוץ מההגדרות הפנימיות, ששם עדיף שאיש סיסטם יגדיר).

בעולם ה-ARM לעומת זאת, לא היה שום דבר מהדברים הללו. כל יצרן עם הקושחה הסגורה שלו, אפילו ה-BOOT היה במקרים רבים שונה בין יצרן ליצרן ומבחינת מיפוי חומרה, כתובות וכו', כל חברה לקחה את זה בכיוון אחר, כך שלא היה שום מכנה משותף. בעולם הסמארטפונים והטאבלטים, כל חברה שרצתה לייצר מכשיר אנדרואיד, היתה צריכה לעבוד עם המפרטים והסטנדרטים שגוגל יחד עם חברי ה-Open Handset Alliance קבעו, כך שכיום ציודים כאלו מבחינת רכיבים די זהים אחד לשני (למעט מעבדים ומסכים שונים אך תואמים לסטנדרט)

מי שנכנסו לתמונה הם ארגון Linaro שמורכב מיצרני חומרה ומפתחי מערכות הפעלה. הם החלו לעבוד עם היצרנים. בהתחלה עם AMD ובהמשך חברות אחרות יצאו ממסך הסודיות ויחשפו מוצרים.

המסמך הראשון שיצא ליצרנים הוא מסמך ה-SBSA (ר"ת Server Based System Architecture) והמסמך מתאר את הארכיקטורה ומה יצרנים צריכים להכניס בצ'יפ ויותר חשוב – בלוח אם. אין יותר הגדרות יחודיות פר יצרן.

המסמך השני שיצא שבוע שעבר הוא מסמך ה-SBBR (ר"ת Server Based Boot Requirement) ובו נקבעו החלקי תוכנה והמפרט קישוריות בין החומרה לתוכנה כחובה. דברים כמו UEFI (גירסה 2.4, לשמחת מיקרוסופט), ה-ACPI שמלווה את ה-PC יובא אל מערכות ARM (גירסה 5.1), ה-SMBIOS ולבסוף גם הוסיפו את החלק של תמיכת במספר מעבדי ARM על לוח אחד. בדרך מחקו כבר תאימות ל-16/32 ביט מהסטנדרטים הללו.

מערכת ההפעלה הראשונה שתתמוך ב-ARM לשרתים היא … פדורה 21. הלוח הראשון שיכלול מעבד מבוסס ARM הוא לוח של AMD עם מעבד Opteron A1100. הלוח נראה כך:

 

A1100

בשלב זה הלוח הנ"ל אינו מיועד להכנסה לטסטים או פרודקשן והוא מיועד כרגע לחברות המפתחות אפליקציות. מחירו – אינו זול (3000$) והוא מוגדר כ-Development Kit והואע יגיע עם Fedora 21. (כך שבשלב זה אפשר להזמין דרך AMD אבל הלוח לא יצא לשוק עד כמעט סוף השנה הנוכחית).

בשנה הבאה חברות שמשתתפות בפרויקט יתחילו להוציא שרתים כאלו (גם HP וגם DELL נמצאים בבדיקות סופיות של הלוחות יחד עם Red Hat), ויש כבר התעניינות גוברת מצד מיקרוסופט (שבהתחלה לא רצתה להיכנס לזה) להוציא Windows Server ל-ARM. גירסת RHEL ל-ARM תצא כפי הנראה בחצי השני של שנה הבאה.

כמובן שבשוק הזה, אינטל לא רואה בעין יפה את המאמצים של ARM להיכנס לשוק הזה, לפיכך צפויה להיות תחרות עזה (ונראה כמה הפעם אינטל לא תשתמש בטריקים של שוחד כדי "לעודד" יצרנים לייצר כמה שפחות לוחות כאלו (כמו שהם עשו ל-AMD עם ה-Opteron, מה שכמעט נגמר במשפט ובסוף אינטל שילמה רק קנס וצחקה כל הדרך לכיבוש שוק השרתים)). סביר להניח שנראה את אינטל שוב חוזרת עם מעבדי ATOM לשרתים (ה-C2758 לא ראה עדכון כבר שנה ומחירו יקר – 208$ למעבד לבד עבור יצרן הלוחות, הצ'יפ לא ניתן לרכישה ללקוח סופי).

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

אז לינוס רוצה לכבוש את הדסקטופ

Linus Torvaldsלפני מספר ימים השתתף לינוס טורבאלד (ה"אבא" של לינוקס) בכנס LinuxCon השנתי. בכנס הזה בד"כ מופיעים מפתחים שונים ומציגים פרוייקטים שהם משתתפים בהם, עובדים עליהם או דברים שהם מתעניינים בהם. אחד הדברים שהכי "מושכים" בתערוכה הזו הם הפאנלים שבהם משתתפים בכירים בקהילת מפתחי הליבה ומערכות אחרות בלינוקס.

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

לינוס ציין שהוא "עדיין רוצה 'לקחת' את תחום הדסקטופ (המחשב השולחני)". מי שמעוניין, יכול לראות את הוידאו כולו (קצת יותר ממחצית השעה) – הקטע שלינוס מדבר על הדסקטופ ממש בצרה הוא ב-דקה 28.

 

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

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

  1. ראשית, ישנה הבעיה של אפליקציות. ללינוקס יש המון אפליקציות שאנשים וחברות כותבים, אבל התוכנות הפופולריות שקיימות על מק או על Windows – רבות מהן לא קיימות ללינוקס. אם אתה רוצה להשתמש במיקרוסופט אופיס, עריכת תמונה, צליל או וידאו, לא תמצא את האפליקציות של אדובי ומיקרוסופט. אם יש לך תוכנות שונות שרכשת שרצות רק על Windows, חלק גדול מהן לא נמכר ולא קיים בגרסאות ללינוקס. חלופות קיימות, אולם ברוב המקרים, החלופות אינן תמיד אפליקציות מקצועיות שיהיו קלות למשתמש הממוצע להגר אליהן.
  2. הבעיה שניה קשורה דווקא לכסף – משתמשי לינוקס רבים פשוט לא מוכנים לשלם על אפליקציות מסחריות וחברות תוכנה מסחריות רבות רואות את השוק הקטן של לינוקס בתחום הדסקטופ ואת האי רצון לשלם על תוכנות ופשוט לא מוציאות גרסאות ללינוקס. נסו לשכנע את אדובי להוציא את אפליקציות Creative Cloud ללינוקס.
  3. הבעיה השלישית קשורה ל"פוליטיקה" של קוד פתוח – אנשים מעדיפים, אם הם כבר משתמשים בלינוקס – להשתמש באפליקציות בקוד פתוח גם אם המתחרה בקוד פתוח "נחות" יותר מאפליקציה מסחרית וכך קורה לעיתים שחברה שכבר הוציאה מוצר מסחרי בקוד סגור, מפסידה לקוחות לפרויקט כמעט זהה בקוד פתוח, והיו מקרים מעולם.
  4. הבעיה הרביעית קשורה לקצב ההתפתחות של הפצות לינוקס: חלקם יוצא בקצב סופר מהיר (אחת לחצי שנה) ובין גירסה לגירסה נשברים דברים מבחינת תאימות (Fedora ו-Ubuntu), ואילו ההפצות היציבות יותר מתעדכנות באפליקציות חדשות אחת לתקופה של 3 שנים בערך, וגם אז ישנן בעיות תאימות. ברוב האפליקציות שבקוד פתוח הבעיה לא רצינית כל כך ומה שיש לבצע זה הידור (compile) מחדש של קוד המקור, אבל לאפליקציות מסחריות בקוד סגור זה בעייתי.

לינוס אולי שוכח, אבל ישנה מעין גירסה של לינוקס שדווקא כן תופסת בשוק לאט לאט והיא … ChromeOS של גוגל וכמות המחשבים שנמכרים עם ChromeOS הולכת וגודלת (בגלל המחיר הנמוך של מחשב כזה, שבד"כ מגיע גם עם מפרט טכני נמוך מאוד). גוגל, בניגוד ל-Fedora ו-Ubuntu דווקא לא מעוניינת שמשתמשים יריצו אפליקציות לינוקס רגילות על ChromeOS ואכן במצב רגיל אין לך אפשרות להריץ אפליקציות מהפצות לינוקס כפי שהזכרתי לעיל – על ChromeOS. גוגל מעוניינת שמפתחים יפתחו אפליקציות Native תוך שימוש בספריית pnacl שלהם, שמצד אחד יכולות לרוץ ישירות הן על מעבדי X86 והן על מעבדים מבוססים ARM, אבל מצד שני האפליקציה תהיה יותר אפליקציית ++WEB, כלומר אפליקציה שמציגה את הפלט ומקבלת קלט דרך הדפדפן.

גוגל הצליחה להכניס לשוק את אנדרואיד שמבוסס על ליבת לינוקס בצורה שהפתיעה רבים. היא לא השתמשה בספריות שכל הפצת לינוקס משתמשת, אפילו לא בספריה שמאפשרת גרפיקה (Xorg) והיא בנתה הרבה חלקים באנדרואיד מאפס, ובסופו של דבר, בסיוע יצרנים שחיפשו כמה שיותר טלפונים וטאבלטים לשווק – היא כבשה את השוק, כך שניתן לאמר ש(ליבת) לינוקס כבשה את שוק הסלולר והטאבלטים. יכול להיות ש-ChromeOS תכבוש נתחים גדולים יותר בשוק, את זה נראה במהלך השנה שנתיים הקרובות, אבל עם הפצות הלינוקס כיום – אני בספק אם תהיה קפיצה נרחבת בשימוש לינוקס בדסקטופ. נכון, אובונטו כובש Power users רבים, אבל אותם משתמשים מתפתים ולבסוף במקרים רבים גם רוכשים – מחשבי מק לעבודה ולשימוש יומיומי – יש לך ממשק גרפי מעולה, חומרה טובה, וגם טרמינל עם המון אפליקציות שקיימות בלינוקס, שילוב מנצח עבור משתמש כזה.

האם לינוקס יכנס ל-Corporate בתור עמדת עבודה? לא, לא נראה לי. חברות אוהבות את ה"גב" שמיקרוסופט נותנת להם, וברוב המקרים הם לא יוותרו עליו במהירה. אם גוגל רוצה לכבוש את ה-Corporate עם ה-ChromeOS, הם יצטרכו לבצע מספר שינויים כמו הורדת מחיר פר משתמש, תמיכה ב-Active Directory והרבה יותר אפליקציות Clients טובות. גוגל הראתה בכנס I/O האחרון איך הם הולכים להריץ אפליקציות אנדרואיד על ChromeOS, אבל אפליקציות אלו אינן מספקות פתרון מלא שחברות מחפשות ומשתמשים עדיין רוצים אפליקציות מלאות, לא "מסורסות" גם אם הן Native.