
בראיון שהתפרסם ב-http://www.macrumors.com סטיב ג'ובס טען ש"אף אחד לא ישתמש בפלאש. העולם עובר ל-HTML 5″. זו טענה שאני שומע לא מעט פעמים מחברים שמעודכנים מספיק בטכנולוגיה על מנת להבין מה זה פלאש ומה זה HTML 5. בדרך כלל הטיעונים בעד ונגד הפלאש שאנו נחשפים אליהם הם שיווקיים/אידיאולוגיים בעוד שפלאש ו-HTML 5 הן בסופו של דבר טכנולוגיות - וההכרעה תתקבל בסופו של דבר גם על בסיס המסוגלות של הטכנולוגיות השונות.
ראשית - מה זה HTML 5? מדובר בתקן החדש של ה-HyperText Markup Language - מבין אבני הבניה של דפי האינטרנט שאנו רואים. במשך שנים רבות מפתחי האינטרנט פיתחו את הפרונט אנד לפי תקן HTML 4 (תקן XHTML שנכשל מבוסס על תקן HTML 4). לאחר כמה תהפוכות, הוכרז על תקן HTML 5 שכולל יכולות חדשות ומשופרות עבור הפרונט אנד. על יכולות אלו ניתן למנות תגיות סמנטיות חדשות, Error handling ו-form controls. היכולות החדשות כוללות גם טיפול בוידאו ויצירת גרפיקה וקטורית בשני מימדים. התקן החדש יושלם סופית בשנת 2012 אך כבר כיום כל הדפדפנים המודרניים משלבים תכונות של HTML 5 מה שמאפשר למפתחים להשתמש בתכונות של התקן החדש כבר עכשיו. התבשרנו לאחרונה שיוטיוב מתחיל ניסוי שבו הוא משתמש ב-HTML 5 על מנת להציג וידאו במקום נגן הפלאש שבו הוא משתמש היום.
היכולות של התקן החדש ובפרט האפשרות ליצור גרפיקה וקטורית וניגון וידאו מזכירות יכולות של פלאש. פלאש, למי שלא מכיר, הוא טכנולוגיה של חברת אדובי שמאפשרת באמצעות תוסף להריץ בדפדפן תוכנה שכתובה בשפת ActionScript . התוסף זמין לכל הדפדפנים ובכל הפלטפורמות למעט ספארי המותקן על אייפוד, אייפון והאייפאד החדש. מחקרים מגלים שמספר הגולשים שהתוסף מותקן אצלם נע בין 95% ל98%, תלוי את מי שואלים. השימוש בפלאש באתרי אינטרנט נפוץ מאד אף הוא - בין אם מדובר בהצגת באנרים, נגני וידאו, משחקים ואפליקציות מורכבות אחרות המשלבות גם אינטראקציה עם ה-Webcam.
ישנן שתי טכנולוגיות שמתחרות עם הפלאש. הידועה יותר מבית מיקרוסופט היא סילברלייט, המאפשרת פיתוח ב-C# (וזה היתרון הגדול שלה, כיוון שכל מפתח שמכיר C# יכול לפתח באמצעותה) ו-JavaFX של חברת SUN. אך שתי הטכנולוגיות האלו עדיין לא נפוצות וגם הן סובלות מאותה הבעיה של פלאש - הן קנייניות ונתמכות רק באמצעות תוספים. לפיכך, כשאני מתכוון במאמר זה לפלאש, אני מתכוון גם לסילברלייט או JavaFX.
האם HTML 5 עומד לרשת את הפלאש כפי שסטיב ג'ובס אומר? למי שלא מכיר לעומק את הטכנולוגיות השונות, התשובה נראית ברורה מאליה. אם ל-HTML 5 יש את היכולת לנגן וידאו ואת היכולת ליצור גרפיקה וקטורית עם אירועים בדומה לפלאש - אז למה נצטרך את פלאש? אפשר לוותר עליו.
אך מהצד הטכנולוגי התשובה היא לא כל כך חד משמעית. HTML 5 הוא תקן חשוב ומעניין, אך עדיין הוא לא מהווה תחליף לפלאש בכמה תחומים. וזאת בשל שפת התכנות שלו. פלאש הוא לא תוכנה גרפית, הוא סביבת פיתוח שלמה שבה אפשר לפתח אפליקציות מלאות באמצעות שפת התכנות שלו - Action Script. שפת התכנות הזו בגרסתה השלישית היא שפת תכנות מונחית עצמים מלאה שבאמצעותה אפשר לכתוב אפליקציות מלאות ולעשות דברים שאי אפשר לעשות בדרך אחרת.
כך למשל, אם אני רוצה לבצע עיבוד וידאו עם פילטרים, או שילוב של שני מקורות וידאו ב-Client Side, אני חייב לעשות זאת עם ActionScript. אם אני רוצה לקחת וידאו ממקור אחד ולהצמיד לו אודיו ממקור אחר, אין לי ברירה אלא להשתמש באפליקצית ActionScript 3 לעשות זאת. גם אם אני מעוניין לשלב שני קבצי וידאו כקובץ אחד (כמו למשל הכנסת פירסומות באופן דינמי בצד הלקוח) אין לי ברירה אלא לעשות זאת באמצעות פלאש. מדובר ביכולות שאולי נראות מיותרות/זניחות, אך אתרי אינטרנט משתמשים בהן מדי יום ביומו. נכון ש-HTML 5 נותנת פתרון נהדר בכל נושא נגני הוידאו הפשוטים, אך אם רוצים משהו שהוא מעט מעבר, אין ברירה אלא להשתמש בפלאש.
גם אם נניח לנושא הוידאו, בנושא המשחקים ובמיוחד המשחקים המורכבים - אין לפלאש תחליף. כל מי שהתנסה בבניית אפליקציה המבוססת על HTML 5 Canvas - התגית החדשה בתקן המאפשרת יצירת אנימציות וגרפיקה באמצעות JavaScript יודע שלמרות התחביר הזהה - חוסר היכולת של JavaScript לעבוד כשפה מונחית עצמים מונע לבנות באמצעותה אפליקציות ומשחקים מורכבים. וכשאני אומר מורכבים אני מתכוון למשחקים שהם יותר ממסך אחד…לעומת זאת, ActionScript 3 היא שפה מונחית עצמים המאפשרת למפתח ליצור אפליקציות מורכבות ויציבות בקלות. משהו שאי אפשר לייצר עם HTML 5. אפליקציות פלאשיות הן לא רק וידאו או משחקים. הן יכולות להיות צ'אט, מערכת להצגת תוכן, פרונט אנד של תוכנות Server Side ויש גם מפתחים שמשתמשים בו כדי להעביר נתונים בין ה-Client Size ל-Server Side. פיתוח של אפליקציות אלו בלתי אפשריות ב-HTML 5 בשל היכולות המוגבלות שלו ושל JavaScript (השפה שמתממשקת ל-API שיוצר את הגרפיקה והאנימציה ב-HTML 5).
במאבק בין טכנולוגיות, לא תמיד הטכנולוגיה הטובה ביותר מנצחת. מספיק לראות עד כמה אינטרנט אקספלורר 6 נפוץ כדי להבין את זה. אין ספק שלפלאש יש חסרונות רבים והוא רע, הוא רע בגלל שהוא קנייני, הוא רע בגלל שיש בו באגים שמרסקים גרסאות מסוימות של דפדפנים מסוימים, הוא רע בעיקר בגלל ששנים לאחר שפיתחו אותו, אדובי לא טרחה לבצע התאמת נגישות לפלאש ובנוסף גם מנועי חיפוש ותוכנות אגרגציה לא ממש יודעות מה לעשות איתו. אם HTML 5 היה יכול לאפשר פיתוח אפליקציות מורכבות או נגנים מורכבים - הייתי מאמץ אותו בחום רב. אך נכון להיום אין לו אפשרות כזו. HTML 5 לא יכול להחליף את הפלאש בשל מגבלותיו הטכנולוגיות.
בנוסף למוגבלות הטכנולוגית שמונעת שימוש ב-HTML 5. יש בעיות נוספות בתקן, כמו למשל העובדה שהוא לא הושלם עדיין ויושלם רק ב-2012. או העובדה שהתקן יהפוך להמלצה רשמית של ה-W3C רק ב-2022. חוסר הקנוניזציה של התקן, לפחות בשנים הקרובות, מאפשר פרשנות שונה של התקן בדפדפנים שונים בעוד שפלאש הוא ברובו Cross Browser. וחשוב מכך - קהילת המפתחים הגדולה של פלאש ופלקס יחד עם אוסף האפליקציות, הספריות והקומפוננטות העצום מהווה חסם רציני של מעבר המוני של מפתחי אינטרנט לתקן HTML 5.
שימוש בכלים החדשים שיש ב-HTML 5 (וגם בכלים כמו jQuery) יכול לצמצם את הנוכחות של פלאש בסביבת אתרי אינטרנט. אבל כיוון שלא מדובר בתחליף, אנו נאלץ לראות את פלאש עמנו לפחות בשנים הקרובות. ואלו מכם שמתכננים לחוות את הרשת באמצעות אייפון/אייפוד/אייפאד יצטרכו להתרגל, שלא בטובתם, לחווית רשת מסורסת.
