תכירו את Chrome Apps

אחד הדברים שהיום מתסכלים מנהלים רבים, זה כמות הקוד, כח אדם, קימפולים, גרסאות, עיצובים וכו' – צריך בשביל לשחרר אפליקציה אחת על מנת "לכסות" כמה שיותר את המכשירים והמחשבים שיש בשוק. אתרי מדיה רבים לדוגמא בונים את האתר שלהם ומוודאים שהוא רץ בכל דפדפן מודרני (בניגוד למדינה במזרח התיכון שהאתר תשלומים שלה עובד רק על אקספלורר ישן ואקספלורר חדש צריך "תואמות", וחס ושלום כרום/פיירפוקס/ספארי), וכמובן יש את המובייל. פעם אפל התגאו שבשביל משתמשי אייפון, מספיק פעם אחת לעצב "בניגוד לאנדרואיד", רק שהיום יש אייפונים עם מסך 3.5 אינטש, מסך 4 אינטש, ובקרוב כנראה אפל תוציא אייפון 5 אינטש, ואם נוסיף את האייפד אז צריך לתכנן לרזולוציה רגילה ורזולוציית רטינה. באנדרואיד גם החיים כלל לא קלים, מגוון המכשירים עצום אבל מי שרוצה לבנות לאנדרואיד, עדיף שישתמש בדברים כמו Android Studio (שמגיע בחלקו מ-IntelliJ) שפותרים את הבעיה ברובה.

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

סטיב ג'ובס ז"ל כשהכריז על האייפון, הכריז שאפליקציות עבורו יהיו רק ב-HTML5 (לא חשוב שרוב מוחלט של האפליקציות שהגיעו עם המכשיר עצמו ממש לא היו HTML5) ואחרי מספר חודשים הוא נסוג מכך בעקבות לחץ מפתחים ואפל שחררה SDK. האמת? סטיב ג'ובס צדק.. בערך

הבעיה העיקרית של HTML5 בזמן שחרור האייפון הראשון, היו המגבלות של HTML5. להזכירכם, ג'אווהסקריפט לא ממש טס כמו שד באותה תקופה וכמו שמוזילה משפרים אותו עוד וועוד בדפדפן הפיירפוקס. בנוסף, תמיכת המדיה שלו היתה גרועה, בכל הקשור ל-CSS היו עדיין מריבות בין גוגל לאפל למוזילה למיקרוסופט (ע.ע. "יאללה בלאגן") ומה שהכי חשוב – לא היה ל-HTML5 שום דרך ליצור קשר עם האביזרים במכשיר (מצלמה, מיקרופון, רשת מעבר ל-HTTP/S), מה שהגביל את אפשרויות פיתוח האפליקציות.

בגוגל רצו תמיד שמפתחים יכתבו דברים עבור הכרום שירחיבו את הפונקציונאליות של הדפדפן (כמו ה-Add-ons בפיירפוקס ובדפדפנים אחרים), ואכן עם התפתחות כרום, יותר ויותר מפתחים כתבו כל מיני Extensions שנתנו לך המון פונקציות חדשות, בין אם זה בדיקת אימיילים, שמירת סיסמאות, חוסמי פרסומות, ציוצי טוויטר/פוסטים בפייסבוק, ועוד שורה ארוכה מאוד של תוספים. הבעיה – כל הדברים האלו מוגבלים לדפדפן, ושוב, אין להם קשר לציוד שיש לך במחשב. גוגל ניסו להרחיב את העסק בכך שהם הוסיפו "Apps", מעין אפליקציות, אבל רוב המפתחים עשו לעצמם עבודה קלה: ה"אפליקציה" עם האייקון היפה? היא לא יותר מאשר קיצור דרך ל-URL באינטרנט, כך שאם אין לך תקשורת אינטרנט, אין לא "אפליקציה" ולא נעליים.

גוגל רצו ועדיין רוצים ופועלים להרחבת השליטה שלהם בשוק הדפדפנים, בכך שהם ביחד עם יצרני חומרה יצרו את ה-Chromebook (ועתה ה-Chromebox שעליו תהיה לי סקירה בימים הקרובים) – זהו מחשב נייד עם מעבד X86 או ARM עם כמות זכרון די קטנה (2-4 ג'יגה) ו-SSD קטן של 16 ג'יגה שמריץ ליבת לינוקס ואת הדפדפן ואולי עוד כמה דברים קטנים (אפליקציית ניהול קבצים וכו'). ל-Chromebook יש יתרון עצום בכך שהוא בעצם אפס תחזוקה ומקסימום דפדפן. הדפדפן לא מגיב טוב? מחק את הפרופיל, תתחבר מחדש עם שם משתמש וסיסמא, ואחרי דקות ספורות הכל יעבוד פיקס. 

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

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

התוצאה? Chrome Apps: אפליקציות שמותקנות לך במחשב ויכולות (בקרוב) לרוץ גם ללא דפדפן כרום. האפליקציות יוכלו לרוץ לגמרי Offline עם גישה לציודים, הם יוכלו להיות כתובות ב-HTML5 וגם ניתן יהיה לשלב קוד Native שקומפל עם NaCL, וכל זה ירוץ באופן טבעי ומהיר על ווינדוז, מק, לינוקס ומה שיותר חשוב – ה-run time שיהיה באפליקציה ירוץ גם על אנדרואיד ו-IOS (כן, בגוגל אין שום חיבה ל-Windows Phone). 

זוכרים את הדוגמא שנתתי בהתחלת הפוסט על אותה אפליקציה של חברת המדיה? עם Chrome Apps הם יוכלו לכתוב קוד אחד עם מגוון Layouts, וכל מה שהם יצטרכו לעשות זה לשחרר את האפליקציה בחנות של ה-Chrome ובחנויות אחרות (Play Store, iTunes). המפתח פשוט יצטרך לעקוב אחרי הוראות הפיתוח, חתימת חבילה ושחרורה. כך באותו יום כולם מקבלים את הגירסה האחרונה ואם יש באגים, ניתן לתקן באותו קוד. בשביל חברות זה חסכון בכסף וחיים יותר קלים.

אישית, אני משתמש רבות ב-Google Apps, ובשבועות האחרונים אני גם משתמש ב-Chrome Apps במחשבים שלי בבית. אני משתמש באפליקציה כמו 2X כדי להתחבר ל-Windows, ואפליקציית VNC (כן, היא גם קיימת כ-Chrome app) לסביבות SUN גרפיות (סיפור ארוך..), וכמובן אפליקציית SSH, ועוד אפליקציה שעדיין לא יצאה שדרכה אני שולט על דונגל USB-SERIAL, ומכיוון שאת כל המסמכים שלי אני כותב עם Google Docs ודיאגמות עם אפליקציית כרום עם Gliffy – אני די מכוסה. 

הטכנולוגיה עצמה היא די חדשה ולמען האמת לא בדיוק סטנדרטית. גוגל הרחיבו את ה-HTML5 כדי לתמוך בציוד חומרה, ב-Native Client, ועוד, מה שכמובן עיצבן כל מיני אנשים ובראשם את מוזילה. הויכוח הוא למען האמת קשור לפרגמטיות – האם לחכות שאולי מוזילה תאמץ (הם לא) או שה-W3C יאמץ? בשביל גוגל לא קיימת התלבטות כזו, הם משחררים כקוד פתוח, מודיעים ומי שרוצה, שיצטרף. גוגל כבר עשתה את אותו תרגיל בעבר עם ה-Google Gears שהם ראו ש-W3C לוקח את כל הזמן שבעולם להחליט על תקנים. מוזילה עובדים בכיוון אחר והוא אופטימיזציה מאוד חזקה ל-JS כדי שיתן ביצועים כמו אפליקציות שכתובות ב-C או ++C, והם קרובים (יחסית) לתוצאות טובות, אבל הפתרון הזה עדיין לא נותן אפליקציות Offline או תמיכה בציוד שנמצא במכשיר, ומוזילה לא נותנים בינתיים שום תשובה ל-Chrome apps לצערי.

בסופו של יום, אם גוגל יצליחו לשכנע מפתחים לכתוב עוד אפליקציות כרום (ולמען האמת, יש לטכנולוגיה הזו כולה 5 חודשים וכמות האפליקציות הללו גודלת בצורה מעולה!) אז יש סיכוי טוב לכרומבוקים לתפוס יותר מקום בשוק. יש לגוגל הרבה עבודה לעשות (כמו בכל הגוגל Docs לאפשר Embed מאפליקציות אחרות! ולסדר את ה-Chrome Store), אבל אני מניח שכבר בגוגל I/O הקרוב יהיה פוש מאוד רציני מצד גוגל לשכנע יותר מפתחים לכתוב אפליקציות כאלו, ועד כה אני מאוד מתרשם מהאפליקציות, הגודל שלהן, ושהן זמינות לי בכל מקום שאני עושה אליו login. 

Comments

comments

תגובה אחת בנושא “תכירו את Chrome Apps

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

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

    הרעיון של Chrome Apps עשוי להיות נחמד לחלק מהמפתחים, אבל לא מדובר על הרבה יותר מאשר חלופה ל־PhoneGap. כיום אין בעיה לפתח יישומי HTML5 שמציעים למשתמשים יכולות מתקדמות גם ללא תלות ב־PhoneGap או Chrome, אבל אם מפתחים יראו כי טוב וילכו עם הרעיונות של גוגל, הם רק יתרחקו מהתקן וינציחו את התלות של המוצרים שלהם ברכיבי קוד של גוגל שלא בהכרח זמינים לכל מערכת הפעלה.

    באותו הזמן ממש גופים אחרים עובדים על שיפור התקנים ויצירת תקנים אחידים לגישה לציוד חיצוני. למשל Mozilla שמפתחים WebAPIs שמטרתם לאפשר לדפדפן לגשת להתקנים חיצוניים, והמימוש פתוח והמחשבה שמלווה את הפיתוח לכל הדרך הוא ליצור משהו מספיק נוח לעבודה כך שהוא יהפך לתקן בבוא העת. במקביל, החברים שלנו בגוגל ממליצים למפתחים להשתמש ב־NaCl שהוא לא יותר מאשר מימוש מחודש של טכנולוגיות כגון ActiveX ו־Java…

סגור לתגובות.