Ajax: הטכנולוגיה שמשגעת את הרשת
על אף שטכנולוגיית הפיתוח הלוהטת ביותר באינטרנט נשמעת כמו חומר ניקוי, היא עשויה לשנות את חיינו. קבלו את Asynchronous JavaScript And XML, שמניעה את מהפכת Web 2.0
האינטרנט עובר מהפכה. הרשת הישנה משנה את פניה, ובמקביל לשיפור בביצועי החומרה ולגידול בחיבורי האינטרנט המהיר, הופכים גולשים רבים מפסיביים לאקטיביים ומשתמשים באינטרנט לא רק כאמצעי לאיסוף מידע, אלא גם ליצירת תכנים.
הבלוגים, אתרי שיתוף התמונות, הרשתות החברתיות, העובדה שכיום אנחנו יכולים להתחבר לאינטרנט במהירות סבירה מכל מקום ובאמצעות מגוון מכשירים, הופכים את הרשת לחלופה למחשב המקומי. טכנולוגיות חדשות מאפשרות לגולשים לייצר מידע ולשתפו בקלות, והן מניעות את המעבר לעולם מקוון. כל הג'אז הזה, שיש המכנים אותו Web 2.0, מונע, ברמת תשתית, על ידי טכנולוגיות פיתוח, שלמרבה הפלא, קיימות ברובן כבר שנים.
לא רק חומר ניקוי
Ajax היא אחת המילים הכי חמות בהקשר זה. למרות שלרובנו היא מזכירה חומר ניקוי או קבוצת כדורגל הולנדית (כל אחד ועולם האסוציאציות שלו), מדובר בטרנד טכנולוגי (ויש שיאמרו שיווקי), שאינו בגדר חידוש, אלא יכולת שזכתה להתעניינות מחודשת.
המונח עצמו מורכב מראשי התיבות Asynchronous JavaScript And XML, שמשמעותן היא שימוש במספר שפות תכנות נפוצות, כמו JavaScript ו-XML על מנת ליצור חוויית שימוש חדשה ברשת, המבוססת ברובה על תפישה שונה מזו העומדת מאחורי דפי האינטרנט המוכרים לנו היום.
מי שטבע את המונח Ajax הוא ג'סי ג'יימס גארט, ארכיטקט מידע שייסד את חברת Adaptive Path, המספקת שירותי ייעוץ והדרכה בתחום השימושיות. הוא עשה זאת 10 ימים לאחר השקת שירות המפות של גוגל, בפברואר, וטען כי יישומים כמו Google Maps "שיכנעו מעצבי אינטרנט רבים לבחון שוב טכנולוגיה שדחו בעבר בנימוק כי היא ניסיונית מדי".
אתרים מבוססי Ajax, כמו אלה של גוגל (Gmail, Maps, Suggest, Groups ועוד) או מנוע A9 של אמזון , מספקים לגולש אפשרות להתייחס אל האתר או השירות המקוון כאילו היו תוכנה מקומית המותקנת על מחשבו.
סוף עידן ה-World Wide Wait
הביטו למשל על Google Suggest. ראו כיצד מחרוזת החיפוש מתעדכנת תוך כדי שאתם מקלידים אותה, באופן מיידי כמעט. אין צורך להמתין. זוהי דוגמה לגישה חדשה כלפי יישומי אינטרנט, שאנחנו מכנים אותה Ajax...והיא מסמלת שינוי מהותי ויסודי של מה ניתן לעשות באינטרנט", כתב גארט במאמר שהקדיש לנושא.
לפני שהושק Google Maps, מפות מקוונות היו סטטיות למדי: הגלשים הקליקו על החץ השמאלי, המתינו כמה שניות עד שהעמוד נטען כדי לצפות במפה הנעה באיטיות שמאלה. כדי למקד את החיפוש עוד יותר היה עליהם לחזור על הפעולה מספר פעמים. ב-Google Maps אפשר לגרור את המפה לכל כיוון, ולצפות באיזורים החדשים מתמלאים בתוכן באופן מיידי. הודות לאמצעי הניווט מבוסס Ajax, המפות מבצעות Zoom מהיר. הגיע סוף עידן ה-World Wide Wait.
תאמינו או לא, אבל הכל התחיל במיקרוסופט
הטכנולוגיה מתבססת על שימוש בפונקציית XMLHTTPRequest של JavaScript, הנתמכת במרבית הדפדפנים המודרניים, ביניהם אינטרנט אקספלורר, פיירפוקס, ספארי ואופרה. הפונקציה פונה לקבלת מידע מהרשת המארח באופן שקוף, שאינו דורש המתנה מצד הגולש.
מכיוון שמרבית היישום יורד ישירות אל מחשב הגולש, ואל השרת לא נשלחת בכל פעם בקשה להורדת דף שלם, אלא רק הנתונים שהשתנו בדף, נחסכים משאבי רשת ותעבורה של מידע אותם ניתן כעת לגייס לצורך יצירת ממשק עשיר יותר, פעילות אינטראקטיבית ומהירות.
כאמור, לא מדובר בטכנולוגיה חדשה, אלא רק בשימוש חדש, שמתאפשר הודות לעוצמות מיחשוב גדלות, דפדפנים מתוחכמים ואינטרנט בפס רחב. הראשונה שעשתה שימוש ביכולת הזו, של טרנסאקציות בין השרת למחשב הלקוח באופן שקוף היא מיקרוסופט, שהציעה כבר לפני שבע שנים את Outlook Web Access, ממשק מקוון של תוכנת ניהול הזמן שלה, אאוטלוק, שאליו ניתן היה לגשת מכל מחשב המחובר לרשת. ראו את נענע מייל לדוגמה.
בעתיד: שילוב עם פלאש
כשגוגל השיקו את שירות המיפוי שלהם, "כולם אמרו 'אווו, איך הם עשו זאת?', אבל מתברר שהטכנולוגיה הזו נמצאת איתנו כבר זמן מה", אמר סטיב ין, מנהל החברה שמפתחת את NumSum, שירות גליון אלקטרוני מקוון, לסוכנות הידיעות איי פי.
יישומי הרשת הללו יכולים לכלול כל שילוב בין השפות והטכנולוגיות הקיימות כבר בתחום פיתוח האתרים, ביניהן HTML, XHTML, CSS, DOM, JavaScript, XML, XSLT ואפילו טקסט פשוט ועוד.
" בדומה ל-DHTML (ראשי תיבות של Dynamic HTML), הכוללת שימוש ב-HTML, סקריפטים, CSS ועוד על מנת לייצר דפי אינטרנט עשירים ומותאמים אישית; ו-LAMP (ראשי תיבות של לינוקס, Apache, MySQL ו-P שמגיעה מ-PHP, Python או Perl), ערכת היישומים ושפות הפיתוח המשמשת לעבודה עם שרתי לינוקס,
יתרונות וחסרונות
אלה המבקרים את הטרנד שסביב למושג, טוענים כי גארט עושה בו שימוש לצרכיה השיווקיים של החברה בה הוא מועסק, וכי אסופת הטכנולוגיות הללו דומה, אם לא זהה, ל-XMLHTTP, ערכת API’s המאפשרת לעשות שימוש במגוון שפות תכנות, כמו JS, על מנת להעביר מידע מבוסס XML או אחר אל ומשרת אינטרנט באמצעות פרוטוקול HTTP, המשמש לגלישה.
היתרון של XMLHTTP, כמו גם של Ajax, היא היכולת לעדכן אתר באופן דינמי, מבלי לטעון מחדש את העמוד כולו. הטכנולוגיה הזו מהווה כיום חלק מהותי מ-Ajax, ומשמשת באתרים רבים, בהם Gmail, שירות דואר הרשת של גוגל ו-Google Suggest, המאפשר לבצע חיפוש דינמי.
יתרון נוסף של Ajax הוא שניתן להשתמש בו בצורה חלקית, על מנת לשרת גם גולשים שאינם מצוידים במחשב חזק דיו (או במחשב בכלל, כמו במקרה של גלישה באמצעות מחשב כף יד או טלפון סלולרי), בחיבור אינטרנט מהיר או בדפדפן גרפי מתקדם.
מפתחי יישומים מקוונים יכולים לשלב תכנות מבוסס Ajax יחד עם תכנות "מסורתי", וכך לאפשר למי שגולש ממחשב מתאים ליהנות מיכולות מתקדמות, ולמי שגולש אחרת - לצפות בעמוד כמו שהוא, כולל זמני טעינה ארוכים יותר וחוויה אינטראקטיבית פחות. דוגמה לכך שוב ניתן למצוא אצל גוגל, ש-Gmail שלה כולל שני ממשקים: אחד לבעלי דפדפן חדיש והשני לבעלי דפדפן מיושן או כזה שאינו תומך ב-JS.
Ajax מול פלאש וג'אווה
אחרים, בעיקר בעלי אינטרסים, גורסים כי פלאש של מקרומדיה וג'אווה של סאן למשל, מספקות יכולות דומות ואף עדיפות, מאחר והן מציעות ממשק עשיר ויכולות קרובות יותר לזה של יישום מקומי. אולם בזה גם טמונה חולשתן לעומת Ajax: הן מחייבות הורדת תוסף ייעודי ואינן נתמכות בכל דפדפן ובכל מערכת הפעלה.
Ajax ,המבוסס על סטנדרטים, נתמך במרבית הפלטפורמות של ימינו, ואינו מחייב התקנה של רכיבים משלימים. הם מצויים כולם בדפדפן, ולכל היותר
הבעיה רעיונית בעיקרה
לא הכל מושלם, והקונספט כולו - אותו Web 2.0 - סובל מכמה חסרונות נוספים, הנובעים לאו דווקא מיישומו, וקשורים לעובדה שמדובר ביישומים מקוונים, המאוחסנים ופועלים באופן כמעט בלעדי על גבי מחשב מרוחק, ואינם מותקנים דרך קבע על מחשב מקומי.
כלומר, אם אתם נעזרים באתר כמו Writeboard או Zoho Writer, מעבדי תמלילים מקוונים, כדי לכתוב מסמך חשוב מאין כמותו, ובדיוק אז מתרחשת תקלה בתשתית האינטרנט למשל, אתם עלולים לאבד את המסמך כולו.
בעיה נוספת נוגעת לאמינות ספק השירות ולמידת מחויבותו לפרטיותכם. האם המידע המאוחסן בשרת המרוחק, שעשוי לכלול טקסטים, פרטים של אנשי קשר ועוד נתונים רגישים - בטוח מפני פריצה? האם הוא מגובה כראוי או בכלל נשמר לאורך זמן? אז נכון שמרבית השירותים מאפשרים לשמור למשל קבצי וורד, PDF או HTML של המסמכים שכתבתם - אבל אם אתם שוב נזקקים לשירותיו של המחשב המקומי כדי להבטיח את זמינות החומר - מה עשינו בזה?
האתגר הגדול ביותר ביצירת יישומי Ajax אינו טכני, אלא מחשבתי, טוען גארט. "האנשים שמתכננים את היישומים המקוונים הללו צריכים לשכוח את מה שהם חושבים שהם יודעים על מגבלות האינטרנט, ולהתחיל לדמיין מגוון רחב ועשיר יותר של אפשרויות. זה יהיה כיף".
יישומים לדוגמה
אבל מה שחשוב הוא, שהכיף שב-Ajax לא שמור רק למפתחים, למעצבים ולמתכננים, אלא גם לנו, המשתמשים. מסתבר שמעבר לכל ההסברים הטכניים והשיווקיים, הטכנולוגיה הזו מאפשרת להם להציע לנו מגוון רחב מאוד של יישומים ושירותים מקוונים, שאת חלקם כבר סקרנו בכתבה קודמת. הנה כמה שירותים נוספים:
קישורים למפתחים
עבור מפתחים זמינים אתרים רבים המתמקדים ב-Ajax מנקודת מבט מקצועית, ומציעים מדריכים, כלים, דוגמאות, פורומים, מידע וקישורים. המומלצים הם:
- AJAX Matters - פורטל.
- Ajaxian – פורטל, שתת אתר שלו Planet Ajaxian, מספק תכנים נוספים.
- Ajax Goals - פורומים.
- AjaxPatterns - פורטל הכולל Wiki.
- Ajax Blog - בלוג אישי.
- BeTa - בלוג ישראלי העוסק בפיתוח.
- מוזילה - פיתוח Ajax בפיירפוקס.
- Ruby On Rails - פלטפורמת פיתוח ליישומים מקוונים.
- eHub
- סקירות, ראיונות וקישורים.