נדמה כי תקן HTML5 - על הבטחותיו לגלישה נטולת תוספים, API לגרפיקה תלת מימדית ואנימציה, תגיות וידאו ואודיו מובנות, אחסון מידע אופליין ו-Web Workers לניהול תהליכי רקע ארוכים - מבשר את סופן של פלטפורמות קנייניות ליישומי ווב עשירים (RIA). אבל הדיווחים על מותם של פלאש וסילברלייט היו מוגזמים למדי. כדי להתמודד עם צרכיה של הרשת המתפתחת באופן תמידי, חברות כמו אדובי ומיקרוסופט יכולות להרחיב את התוספים שלהן מהר יותר מאשר כל קבוצת סטנדרטים שבאפשרותה להעביר שינויים חדשים דרך ועדות וקבלת אישורים. העבודה על HTML5 החלה ב-2004, והמלצת ה-W3C אינה צפויה להגיע לפני 2022. הרשת תמשיך להשתנות, וגופי התקנים לא יהיו מובילי הדרך.
כיום, קבוצת העבודה לטכנולוגיית יישומי הייפרטקסט מקוונים (WHATWG), התאחדות שמטרתה ליצור תקנים חדשים לרשת, לא יכולה אפילו להסכים על השאלה באילו קודקים לווידאו יש לתמוך, ומותירה את הבחירה לגבי תאימות לדפדפנים אחרים בידי יצרני הדפדפנים עצמם. התמיכה בתקן ה-HTML החדש תגיע בטפטופים שרק יסבכו את עבודת המפתח. ספקי תוכן מקוון ומפתחי יישומי רשת עשירים ימשיכו לנוע לכיוון ה-RIA המעודכן - ערכת כלי הפיתוח המלאה ביותר וטכניקות העברת התוכן האמינות ביותר, שני תחומים שלא נמצאים בראש מעייניהם של אנשי HTML5.
פלטפורמות ה-RIA העשירות ביותר כיום, וגם בעתיד הנראה לעין, מגיעות מהתנגשות הטיטאנים אדובי ומיקרוסופט, שפלטפורמות פלאש וסילברלייט שלהם משלבות כלים מצוינים למפתחים ולמעצבים, תמיכה רחבה בקליינטים שונים, תמיכה חזקה בטכנולוגיות צד-שרת, יכולות ניהול זכויות קנייניות, והיכולת להתמודד עם שימושים שונים כמו סטרימינג של וידאו בזמן אמת, משחקים מקוונים, בצד שימושים עסקיים. כל אחת מהפלטפורמות התעדכנה ויצרה גרסאות חדשות - פלאש 10.1/AIR 2 וסילברלייט 4 - דבר שהביא אותן לרמה כמעט זהה. באיזו מהן כדאי לבחור?
אדובי פלאש 10.1 ופלטפורמת AIR 2 של אדובי
פלטפורמות אלה כוללות את ה-Flex SDK שנכתב בקוד פתוח, מהדר Flex חינמי, IDE קנייני מבוסס Eclipse בשם Flash Builder, תוסף הדפדפן Flash Player, אדובי AIR וכן סביבת runtime לחלונות, מק ולינוקס המאפשרת יישום של אפליקציות רשת עשירות באופן ישיר. בנוסף, אדובי מציעה חבילת כלים המרחיבה את הפיתוח בפלאש. בנוסף לכלי ה-Flash Professional, ישנו ה-Flash Catalyst החדש - כלי עיצוב אינטראקטיבי המיועד ליצירה מהירה של אבטיפוס לממשק משתמש. לצדו, מציעה החברה את ה-LiveCycle Data Services או ה-BlazeDS בקוד פתוח, לשימוש בג'אווה והודעות.
פלאש אולי לא יגיע לאייפון ואייפד, אבל הוא עדיין מוביל על פני סילברלייט מבחינת תמיכת הלקוחות, הודות ל-Flash Player הנפוץ. פלאש גם חזק יותר בחזית ניהול הזכויות הקנייניות, תוך שהוא מספק בקרים גרעיניים לשליטה על מדיה בסטרימינג והורדות נתונים דרך Flash Access 2.0. סביבת הפיתוח של אדובי לא משתווה לזו של מיקרוסופט עכשיו שכלי סילברלייט הוטמעו ב-Visual Studio 2010, ואדובי גם לא עשתה עבודה טובה כמו מיקרוסופט בהטמעת עיצוב ופיתוח. אף על פי זאת, ה-Flash Builder IDE אינו כלי עצל, ו-Flash Catalyst הוא תוספת נהדרת.
עם פלאש 10.1 ו-Flash Builder 4, פלטפורמת פלאש חוזקה לצורך מתן גישה טובה יותר. פלאש יכול מעתה לגשת לשירותי רשת מפלטפורמות SOAP ו-REST כמו גם ASP.net, J2EE, PHP, BlazeDS, ו-ColdFusion ושרתי LiveCycle Data Services לסטרימינג של נתונים. יש שיראו בחוסר האינטגרציה ההדוקה של פלאש עם טכנולוגיות שרת נפוצות - כמו הגישה של סילבלייט ל- .Net, COM ו-WCF - כחסרון. אבל הפתרון מתאים בדיוק ליישומים הגמישים והמודולריים שלהם יש ביקוש כיום.
עם הופעתו של ActionScript 3, אדובי עברה משפת סקריפטים כללית לשפת תכנות חזקה הרבה יותר, מודרכת עצמים ומונעת אירועים. המפתחים זכו למבנים מוכרים כמו קלאסים ואובייקטים, ובאותה העת זכה פלאש בשיפור רב שכבתי במהירות שלו. הגרסאות החדשות של Flash Player ו-AIR - העדכון המשמעותי הראשון ל-AIR מזה שנתיים - מביאות עמן תכונות חשובות המטפלות בחוסרים שבגללם אדובי זכתה לביקורת שלילית רבה באחרונה. תרדמת של יישומי פלאש בלתי פעילים (כמו אלה העובדים בלשונית לא פעילה בדפדפן) מסייעת לשפר ביצועים ולהוריד את דרישות הכוח והזיכרון. אדובי גם הוסיפה תמיכה במולטי-טאץ' ובמחוות, יחד עם מודעות למקלדות וירטואליות, כך שפלאש הפך לידידותי יותר לטאבלטים וסמארטפונים. תיקוני ניהול קלים ורוטינות איסוף אשפה משופרות ישפרו את הביצועים גם במחשב האישי וגם בסלולר. בנוסף, האצת חומרה של פיענוח וידאו ונגינה יוצרים צריכת אנרגיה יעילה יותר.
ה-runtime למק הועבר ל-Cocoa framework, פלטפורמת פיתוח ה-Objective-C של אפל. המעבר ישפר את התאימות ויקטין את מספר הקריסות של מק עקב שימוש בפלאש, וכן יספק תמיכה מובנית בתכונות גרפיקה, סאונד והדפסה. עם גרסא 2, AIR חופר עמוק יותר בתוך המחשב השולחני, תוך שהוא תומך בקריאות לקוד מובנה (דוט נט וספריות ג'אווה, למשל) ובגרירה-ושחרור בין קליינט ה-AIR לבין מערכת ההפעלה. עוד הוא מציע תמיכה ב-UDP, רשתות IPv6 וסיבולת תקלות רשת טובה יותר.
מפתחים ימצאו כמה תכונות נחמדות גם ב-SDK וב-IDE. לדוגמה, ה-Flex SDK מציע קלאסים מרשימים לאימות נתונים. אף על פי שהם לא מותאמים לניהול נתונים אסינכרוניים כמו מקביליהם בסילברלייט, הם מאוד קלים להטמעה. בכל הקשור ל-IDE, נקודות בולטות כוללות אינטרוספקציה מקיפה של שירותים ומקורות מידע, כבילת נתונים דו-צדדית מהירה, יצירת קוד על-ידי אשף עבור מגוון מטלות, חיווט קל ומהיר של מידע ואירועים לרכיבי UI ורוטינות זימון עבור נתונים בנויים מראש, המסייעות להקל על כתיבת קוד לטיפול בקבוצות נתונים גדולות.
הסימביוזה של Flash Catalyst עם חבילת CS5 מקלה על העברת פרויקטים ממעצב למפתח. חבל, עם זאת, שמדובר בתנועה חד-כיוונית. ועדיין, Catalyst הוא אמצעי קל למעצבים ללא ידע טכני לתרום לפיתוח ממשק המשתמש בלי להסתבך עם שפת MXML. היישום מאפשר הגדרה מהירה של רכיבי ממשק משותפים (גלילה, כפתורים וכו') מקבצים מיובאים ולחבר אותם למידע. אף על פי שממשק היישום הוא פחות מאלגנטי, הפשטות והממשק שלו המזכיר את Dreamweaver, מצמצמים את עקומת הלמידה.
מיקרוסופט סילברלייט 4
פלטפורמת הסילברלייט כוללת את סביבת הפיתוח וה-SDK של סילברלייט, שנתמכים על-ידי חלונות ויסטה, חלונות 7, חלונות XP SP3 וחלונות Server 2008, יחד עם קליינטים לשולחן העבודה ולדפדפן עבור חלונות ומק OS X. כלי ה-Silverlight 4 Tools for Visual Stodio 2010 מאפשר למפתחי ויז'ואל סטודיו לשים למטרה פרויקטי סילברלייט עם תבניות, ספריות וכלים לניהול יישומי שולחן עבודה של WCF RIA Services. הדבר גם כולל את סביבת העבודה F# לסילברלייט ועדכון ל-Microsoft Visual Web Developer Express 2010, שהוא כלי נפרד אך חינמי לפיתוח יישומים מבוססי סילברלייט ואג'אקס.
מיקרוסופט אף מציעה יישומים נוספים שמרחיבים את יצירות סילברלייט. Expression Blend 4, כמו הקטליסט של אדובי, יוצר אבטיפוסים ומחבר בין אינטראקציות בממשק המשתמש. Expression Encoder 4 הוא כלי חינמי לקידוד תוכן וידאו ואודיו, אם כי תזדקקו לגרסת ה-Pro לצורך קידוד של H.264 ותמיכה ב-IIS Smooth Streaming. כלי הפיתוח המרשימים של סילברלייט יכולים להתגאות בכך שהם נמצאים רמה אחת מעל אלה של פלאש, וכלי עיצוב ממשק המשתמש של מיקרוסופט משולבים בחוזקה. עם זאת, פלטפורמת RIA לא עומדת על כלים בלבד, וסילברלייט עומדת צעד מאחורי פלאש בתחומים כמו תמיכה מובנית בקודקים, נז"ק ותמיכת חומרה.
שיפורים בחזית התמיכה בחומרה מאפשרים למפתחי סילברלייט 4 לשלב קלט ממצלמות אינטרנט ומיקרופונים אל תוך היישום, כמו גם להוציא פלט דרך מדפסות, אם כי פעולת ההדפסה מבוססת הביטמאפ של סילברלייט לא יכולה להתחרות בכלל בהדפסה החדה מבוססת הוקטורים של פלאש. סילברלייט 4 גם מבשר את התמיכה במגע לטאבלטים וסמארטפונים, בדיוק כמו אצל אדובי. טכנולוגיית ה-PlayReady DRM מאבטחת סטרימינג של תוכן דיגיטלי והורדות. כמו Flash Access 2 של אדובי, פליירדי יכול לנהל מנויים והשכרות, וביכולתו לאבטח רשיונות גם לגישה אופליין.
אבל התוספת החשובה ביותר בסילברלייט 4 היא התמיכה המקיפה למפתחים שנוספה לוויז'ואל סטודיו 2010. בעבר, ויז'ואל סטודיו לא כלל ממשק עיצוב לסילברלייט, מה שדרש ממפתחים ליצור XAML משלהם או להשתמש ב-Microsoft Expression Blend. כך או כך, היה זה תהליך מעייף שלא לצורך. מעצב ה-XAML המובנה החדש של ויז'ואל סטודיו מאפשר גרירה ושחרור של מרכיבי ממשק משתמש גרפי (GUI), תוך שהוא יוצר את הקוד ברקע. אין צורך לעבור הלוך ושוב בין ויז'ואל סטודיו ו-Expression Blend. ויז'ואל סטודיו 2010, Silverlight 4 Tools for Visual Studio 2010 ו-WCF RIA Services וכליהם מותקנים בקלות וכוללים שירותי RIA נוספים עבור מיפוי יעד SOAP ו-JSON. מפתחים מקבלים עכשיו משטח עיצוב שניתן לעריכה עם חיבור מידע והגדרות בגרירה ושחרור, כמו גם דיבוג מאוחד בתוך ה-IDE. בנוסף, היכולת להדר את אותו בסיס הקוד עבור דוט נט ועבור סילברלייט, מסייעת בהפחתת מחזורי פיתוח.
מתחת לפני השטח, ה-parser של מיקרוסופט ל-XAML קיבל את תשומת הלב שלה היה זקוק - ניהול namespace עשיר יותר, התמודדות טוב יותר עם whitespacer ופחות שגיאות. למיקרוסופט כלי כתיבה שני לסילברלייט בשם Expression Blend, המספק תמונה גרפית של המוצר העתידי כמו שעושה פלאש. Expression Blend, שהיה בעבר כלי לעיצוב בלבד, עלה לרמת יישום בסגנון ויז'ואל סטודיו עם תמיכת IntelliSense מלאה. Adobe Catalyst נמצא קל יותר ומקיף יותר לעבודה. Expression Blend מרשים עם תכונות מורחבות כמו מידול התנהגות על פי תנאים. ה-DataStore החדש, מילון מקומי עבור מידע על מצבים ומשתנים, באמת מצמצם את כתיבת הקוד לכדי התאמת אפשרויות, סיוע לסגירת הפער בין המעצב למפתח.
אחת מנקודות המעידה הגדולות ביותר עבור מפתחים בסילברלייט 3 הייתה הכנסת המידע אל תוך היישום. אף על פי שזה ניתן למעקף באמצעות שימוש במידע של WCF, סילברלייט עצמו לא כלל אפשרות חיבור ליישומים מקוונים ויישומים במחשב האישי. עם WCF RIA Services בסילברלייט 4, יש למפתחים יותר גמישות בגישה לנתונים, אימותם ואישורם. תוך שימוש בשכבה האמצעית של ASP דוט נט, מפתחים יכולים לנהל טוב יותר יישומים מונעי-נתונים ברחבי הרשת. גישת ה-COM Interop החדשה ליישומים בטוחים היא הדבר המתבקש עבור מיקרוסופט אופיס, שרוצה לשאוב מתוך ספריות המערכת המקומיות. ולבסוף, היכולת של יישומי סילברלייט 4 להשתמש ב-MEF של מיקרוסופט - תוספת דוט נט לגרסא 4 שמפשטת את דחיפת עדכוני התוכנה - היא עוד סמן למקצועיות הכלים שעומדים בפני מפתחי סילברלייט.
השורה התחתונה: פלאש או סילברלייט?
אדובי שלטה מזה תקופה ארוכה בסצנת ה-RIA הודות ל-Flash Player, שלפי ההערכות פועל במעל 93% מדפדפני העולם. אך השליטה הזו נולדה בריק תחרותי. אדובי שיפרה את חוויית המפתח וסוף סוף בנתה גשר אל חבילת העיצוב המרהיבה שלה, אבל מיקרוסופט הלכה רחוק יותר, ועשתה זאת מהר יותר. אם להיות הוגנים, אמנם מיקרוסופט עשתה כמה צעדים נהדרים עם כל גרסה של סילברלייט, אבל חלק ניכר מהמרחק שהיא חצתה כבר נחצה בעבר על ידי אדובי. לבסוף, ערכת תכונות חדשניות וכלי פיתוח חזקים ייצרו את ה-RIA השולט. פיתוח מסגרת סלולרית טובה יהיה חיוני לשתי החברות תוך שצריכה המידע ממשיכה לנוע ממחשבים ולפטופים מסורתיים למכשירים קטנים יותר בעלי מסך מגע. רק הזמן ילמד איך פלאש יסתדר על אנדרואיד והאם סילברלייט יצטרף אליו או יישאר נאמן לחלונות מובייל 7.
ההתלבטות הנוכחית היא בין אוריינטציית המפתחים החזקה של מיקרוסופט לבין הדגש של אדובי על עיצוב. עבור כל פרויקט עסקי שדורש תכנות כבד או גישה לנתונים - במיוחד יישומים פנימיים שתועיל להם אינטגרציה עם מחשבי חלונות - סילברלייט הוא הבחירה המועדפת. הקודקים הזמינים שלו מספיקים בסטנדרטים של היום, וברוב המקרים ניתן להעתיק את עיצוב ממשק המשתמש מפוטושופ או אילוסטרייטור ללא פגיעה באיכות - אם כי תהליך העבודה יהיה מעט מסורבל. עם זאת, אם היישום שלהם משתמש בנתונים באופן בסיסי בלבד ולא דורש עיבוד מהותי, או אם מטרתכם היא ממשקים מרהיבי עין או גרפיקה בתלת מימד לתקשורת עם לקוחות - הווה אומר, במקרים שבהם תהליך הפיתוח הוא רווי עיצוב - תרוויחו מהגישה מוכוונת המעצבים של אדובי. אם כבר יש ברשותכם מוצרים של אדובי, או שכבר התחלתם עם סילברלייט, אין ספק שטוב לכם עם מה שיש לכם. שתי הפלטפורמות חזקות, והתחרות תוודא ששתי המתחרות ימשיכו לעבוד קשה כדי לשפר אותן עוד ועוד.
btw: very well written. we are developing a very large project with SL (an app not a web side) and are very impressed with the capabilities of SL and development speed. worth taking a look .