המכנה הנמוך (פוסט לגיקים)

27/09/06 תחת ווב.

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

ווב טפו.0

את הבאזוורד הזה כבר כולכם מכירים.
מדובר בלהיט הקמפיינים החם ביותר של מיטב המוחות הפרסומיים, של כל ספקית אינטרנט ישראלית שמכבדת את עצמה. ולועגת לנו.
לא אכנס עכשיו למשמעות הטכנית והתדמיתית של מה שקרוי web2.0, רק אומר שהקו בין הערך הפרסומי והאמת הטכנולוגית אינו ברור, לכל היותר מדובר בניצול של יכולות לא חדשות, בעידן בו האינטרנט הופך להיות כלי העבודה המרכזי בחיינו, על מנת ליצור אפליקציות מבוססות ווב עשירות יותר, המזכירות את עולם הדסקטופ.
לכל מי שלא הבין ממש למה אני מתכוון, מדובר בהרבה לוגואים מגניבים ושימוש מופרע במונח “בטא”.
רוצים דוגמאות? כמעט כל אחד מהפרויקטים של גוגל, ה-Calendar הוא אולי הבולט שבהם, הממשק החדש של יאהו! מייל, פליקר, ועוד רבים וטובים…

בכל מקרה, עמוד התווך הטכנולוגי המרכזי של הטרנד הוא AJAX , או Asynchronous JavaScript & XML.
ללא ספק, יכולת שימושית המרחיבה את מסגרת הפונקציונאליות של האינטרנט באופן משמעותי. אבל היא כאן כבר הרבה זמן.
לכל מי שעוסק בפיתוח לווב, אני לא צריך לספר שאחת המשימות המדכדכות ביותר בתהליכי הקמה של אתרים\אפליקציות ווב, היא כתיבת ג’אווה-סקריפט. או יותר נכון, “למה זה לא עובד באקספלורר?!” (החליפו את “אקספלורר” בדפדפן החביב עליכם)
בקיצור, ג”ס נתמכת וממומשת באופן שונה בדפדפנים שונים וכן על פלטפורמות שונות.
יותר מזה, היא שפה מאוד “מעייפת” מבחינה פונקציונאלית. אמנם היא מסוגלת לעשות כמעט הכול, אבל מעט מאוד אנשים יודעים להביא אותה לשם, אף פחות טורחים לעשות זאת.
היא פינה כפוית טובה של עולם התוכנה- שום תכנת המכבד את עצמו לא ישאף להגיע לדרגת מאסטר בג”ס; אין בתחום כסף ולא תהילה. אני מכיר כמה אנשים שאפילו לא מוכנים לגעת בשיקסע מטעמי כבוד.
בכל מקרה, החדירה המאסיבית של AJAX לכל פינה, שהיא בעצם ג”ס לכל דבר ועניין, מסבכת אף יותר את חייהם של המפתחים.
כל בעל פלאפליה המקים אתר, דורש מהאמונים על בנייתו אתר web2.0, שתפריט המשקאות הקלים מתעדכן בזמן אמת ללא טעינה מחדש של הדף כולו.

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

ולעניינינו

שני מפתחים חביבים, ארנו פונדר ווולפגנג קורן, עשו קצת חושבים ומימשו משהו שעלול להראות מופרע לחלוטין.
הבסיס הרעיוני של מה שהם עושים הוא די פשוט, אפילו מתבקש: ג”ס היא המכנה המשותף הנמוך ביותר של דפדפנים, על כן, אפשר לקרוא לה… שפת המכונה של הווב.
ואם אפשר לקרוא לה כך, אז אפשר גם להתייחס אליה כך! (או- לא להתייחס אליה)
ומה זה אומר? זה אומר שעל פי קו החשיבה הזה, בדיוק כמו שכמעט אף מתכנת לא כותב אפליקציות באסמבלי או באפס ואחדים, כי הן מפחידות וקשות מדי, אין שום סיבה שג”ס “תומצא” כל פעם מחדש ע”י מתכנת אומלל אחר.
כשמתכנת ++C לדוגמא, כותב אפליקציה קטנה בחמש דקות, שנראית מצוין ועושה משהו מזה מגניב, הוא לא דואג לקוד המכונה שבפועל יעשה את העבודה, בשביל זה יש לו מהדר (קומפיילר). וול… זה בדיוק מה שהם עשו.
מי שבקי בעולם התוכנה מבין על מה כל המהומה. לכתוב מהדר מכלום, הממיר שפה כמו ג’אווה (JAVA, לא ג’אווה-סקריפט) לג”ס זו משימה מפלצתית, לא פחות.
אבל הם עשו את זה.

המהדר שלהם מאפשר כתיבת אפליקציות “עשירות” ב-JAVA, ככל שהסביבה מאפשרת, ובלחיצת כפתור להמיר אותם לקוד שכל דפדפן יכול לקרוא, והפלא ופלא- מתקבל תעתיק מדויק של האפליקציה מבוסס ווב, מורכב כולו מג”ס, CSS ו-AJAX, אבל ניראה ועובד בדיוק כמו התוכנה החדישה ביותר על המחשב שלכם…

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

10 תגובות

תגובה חדשה