בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > XML * XSL

AJAX, XMLHTTP והצעד הבא שהאינטרנט לוקח

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

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

 

מה זה AJAX?

Asynchronous Javascript and XML

 

מה זה אומר?

שימוש ב-Javascript ו-XML כדי ליצור קריאות לשרת (SERVER) בלי לעשות refresh לדף הנוכחי שהמשתמש שלך רואה.

Microsoft המציאה את ה-XML לפני כמה שנים טובות, ואיתה ביחד, הם הציגו אובייקט מאוד מיוחד שנקרא XMLHTTP שבעזרתו אפשר ליצור קריאה לדף שנמצא על השרת, לישלוח לו מחרוזת XML, ולקבל תשובה ממנו בצורת XML או XHTML.

זאת אומרת, ש"AJAX" היה קיים לפני כמה שנים, אבל לא היה פופלארי בקרב מפתחי האתרים החובבנים עד שמישהו החליט לתת לו שם יותר "נחמד" לקהל הרחב.

 

היום אפשר לימצוא הרבה אפליקציות רשת שמתגאות בתוכנה שלהם בתור תוכנת AJAX שמציעה הרבה יותר מהירות ונוחות למשתמשים בה. דוגמאות לאתרים עם XMLHttp:

 

http://www.panic.com/goods

תתחילו ליגרור חולצות לסל הקניות שלכם למטה ותראו איזה יופי.

http://script.aculo.us

הרבה דוגמאות לאפקטים בעזרת javascript ו-XMLHttp.

http://www.webreference.com/programming/javascript/jf/column12/index.html

דוגמא פשוטה ליצור דף עם AJAX.

 


מה זה Asynchronous?

קריאה מסויימת שלא עוצרת בשביל לקבל תשובה חזרה, אלא נותנת ל"תוכנה" להמשיך את הפעילות שלה ויוצרת event שיופעל ברגע שהקריאה חזרה עם תשובה.

 

האם חייבים להישתמש ב-Asynchoronous XMLHttp ?

בהחלט שלא. לאובייקט ה-XMLHttp יש שני מצבים. במצב Asynchoronous הוא ימשיך בפעילות התוכנה, ובמצב השני, Synchronous, הוא יחכה *עד* שהתשובה תחזור.

 

טכנולוגייה חדשה יכולה לבוא עם בעיות חדשות?

ובכן, בעולם הרשת, קיימת לא רק דפדפן אחד, אלא 4-5 דפדפנים ששולטים ברשת כיום. מיקרוסופט, או ה-Internet Explorer הוא הדפדפן הכי פופלרי כיום. למה? בגלל שמיקרוסופט ניצחו את Netscape לפני כמה שנים במלחמות הדפדפנים, ואחרי "הניצחון", שאינטרנט אקספלורר הגיע לגירסה 6, הם החליטו לא לעדכן אותו יותר. יש בו המון באגים. הוא נורא איטי (במיוחד ב-Javascript). והוא פשוט לא טוב, נקודה.

לעומת זאת, Mozilla הוציאה לאור לפני שנה בערך את דפדפן הדגל שלה, Firefox, הדפדפן הכי חדשני, הכי מהיר, והכי מאובטח שקיים היום ברשת. תורידו אותו היום, http://www.getfirefox.com

 

בעיות ברשת נוצרות בגלל אי-תאימות בין דפדפנים שונים. מיקרוסופט התרגלה "להמציא" בעצמה חוקים חדשים ל-DOM, DHTML ו-XML, ActiveX, ועוד. הם מרשים לעצמם להפריד את IE משאר הדפדפנים בגלל שהם שולטים בחתך הגדול של השוק. אולם, אין זה הגיוני שחברה אחת תמציא חידושים לאינטרנט, כאשר קיים אירגון עולמי לאירגון וקביעת סטנדרטים לרשת, אירגון זה נקרא ה-W3C והוא אירגון non-profit שמנסה להפוך את הסטנדרטים למסודרים וקבועים בכל העולם. שה-W3C יצליח במשימה שלו, לא תהייה לנו יותר בעיות, אבל כרגע, עלינו לידאוג בד-בבד ל-5 גירסאות של דפדפנים שונים כאשר אנחנו בונים אתרים. לפחות. אל תשכחו את המקינטוש (Safari, IE5). חיים קשים יש לנו. אבל לטובתנו באים אנשים ומנסים לעשות סדר בבאלאגן.

 

ל-XMLHttp יש תמיכה בכל הגירסאות האחרונות של הדפדפנים הפופלרים היום. הבעייה היא בהתעסקות של האובייקטים של ה-XML ושאר ה-DOM. פקודות ש-IE יבין, Firefox ייסרב להבין. מאוד מייאש, אבל הדבר שיכול לעזור לכם לדעת, של-Firefox יש debugger ל-client side scripting כמו javascript. זאת אומרת שמאוד קל לימצוא ולתקן בעיות באתרים שלכם עם firefox. עוד משהו שיכול לעזור לדעת הוא ש-Firefox הוא ברוב המקרים אחד לאחד עם הסטנדרטים העולמיים של ה-W3C, ואינטרנט אקפסלורר - לא. אני תמיד סומך על Firefox ויודע שאם זה עובד שם, אני יודע שעשיתי את זה בצורה הנכונה. ומה עם שאר הדפדפנים? תיצטרכו תמיד לעשות "patching" ולתקן את הבעיות שם.

 

איך מתמודדים על כמות הדפדפנים השונה היום בשוק?

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

דוגמא טובה שאני רוצה להביא פה למעטפת, היא ה-Sarissa. בעזרת Sarissa תוכלו ליצור אתרים עם XMLHttp, או AJAX, או בכל להיתעסק עם XML ב-client-side בלי לחשוש משיגעונות של דפדפנים שונים.

האתר של Sarissa:

http://sarissa.sourceforge.net/doc

         

מחבר: רפי בודילרמת קושי: 2  ||  ציון: (6.28)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם