הקדמה: תכנות בעזרת AJAX

הקדמה: תכנות בעזרת AJAX

  • פרסומת

כמה עובדות על AJAX:

  • AJAX זה ראשי תיבות של Asynchronous JavaScript And XML.
  • AJAX אינה שפת תכנות חדשה, אלא שילוב של מספר טכניקות תכנות במקביל.
  • בעזרת AJAX ניתן ליצור אתרים מהירים המתקשרים עם השרת מאחורי הקלעים בצורה תמידית, ובכך לבטל את זמן ההמתנה לתגובה מהשרת.
  • בשביל לממש את השיטה, אנו משתמשים באלמנט הנקרא XMLHttpRequest או, בדפדפנים הישנים יותר של מייקרוסופט (כגון IE 6,7) הוא נקרא XMLHttp ActiveX.
  • השימוש ב-AJAX חוסך לשרת שטח עיבוד ורוחב פס, וחוסך ללקוח זמן יקר.

קצת היסטוריה

AJAX, בניגוד לדעה הרווחת, היא אינה שפת תכנות חדשה אלא גישה חדשה ליצירת אפליקציות באינטרנט על ידי שימוש במספר טכניקות תכנות במקביל. למען האמת, שיטה זו כבר קיימת משנת 1995 כחלק משפת JAVA.
אולם מייקרוסופט הייתה הראשונה שהטמיעה שיטה זו בדפדפן שלה, בשנת 1996 עם פיתוח ה-IFrame שיכל לעדכן חלקים מהדף מבלי לעדכן את הדף כולו. תקופה זו זכורה כתקופת השיא של ״מלחמת הדפדפנים״ בין NetScape לבין Internet Explorer. בשנת 1999 פיתחה חברת מייקרוסופט את ה- XMLHttp ActiveX שלאחר מכן אומץ על ידי כל הדפדפנים האחרים (כגון Mozila Opera ו- Safari).

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

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

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

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

AJAX משנה את כללי המשחק

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

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

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

AJAX כיום

כיום, AJAX היא שיטה המוטמעת באתרי אינטרנט רבים, מבלי שאנו מודעים לה. שימוש נרחב בשיטה נעשה על ידי חברת Google, באפליקציות כמו Google Maps, Google Docs, Google Suggest ועוד. לדוגמה, כשאנו עורכים חיפוש ב-Google, תוך כדי שאנו מזינים מילים לשורת החיפוש מופיעות הצעות שונות להשלמת המילה או המשפט אותו אנו כותבים.

באפריל 2006 הוציא איגוד האינטרנט הבינלאומי (W3C) דרישות בסיסיות לשימוש ב-XMLHttpRequest במטרה להפוך השיטה לסטנדרט. את השם AJAX אגב, קיבלה השיטה ממאמר שנכתב על ידי Jesse James Garrett בפברואר 2005 ונקרא AJAX: A New Approach To Web applications.