מאמר טוב - AJAX

orenphp

New member
מאמר טוב - AJAX

אהלן כולם, אני אומנם אצרף כאן לינק שמדבר על טכנולוגיה ספציפית (דוט-נט), אבל הרעיון שמאחורי זה לדעתי נוגע המון ל"עיצוב" באפליקציות WEB. אז נתחיל קודם בלינק: http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx אחרי שקראתם קצת בנושא - מה אתם חושבים - האם כדאי לבצע postback-ים בכל פעם שאנו רוצים להגיע לserver או שאולי כדאי להשתמש בXMLHTTP + JS בשביל לבצע את העבודה (ולתת למשתמש הרגשה שהוא משתמש בתוכנה יותר מאשר באתר) ? מניסיון שלי, המשתמש מאוד לא אוהב postback-ים ותמיד אוהב לקבל תוצאות בלי לראות "מסך לבן" לזמן מסויים, אבל, בשימוש עם XMLHTTP הרבה פעמים יש קצת בעיות לתוכניתן (דיבוג, זמן פיתוח וכו') ואז מגיע השאלה של הtrade-off שבו אני כמעצבים חושבים האם כדאי את האחד על האחר. אני חושב שכל עוד האתר הוא intranet (שם בד"כ אפשר לסכם עם הלקוח על כך שהbrowser יהיה מגרסה מסוימת ומעלה) או שהוא administration site - ללכת רק על XMLHTTP, זה פשוט נותן חווית משתשמש יותר טובה וברגע שיש תשתית טובה אז זמן הפיתוח + דיבוג של הדברים הוא נוח וקצר. ברגע שיש בקשה לפתח אתר שיתמוך בכל הbrowser-ים, לדעתי כדאי ללכת על גישת הpostback. מה דעתכם ?
 

ייוניי

New member
מסכים בעקרון

קודם כל אני חושב שהמאמר מתייחס לסוגיה של WEB שהקשר שלה ל NET. מקרי. אבל אין ספק שמדובר בסוגיה חשובה שמבדילה בין שתי תפיסות UI שונות במקצת. הרעיון המרכזי (לדעתי) מאחורי שיטת ה postback היה לאפשר תכנות UI נוח המסתיר את העובדה שאנחנו עובדים מול browser מצד אחד, ומצד שני עומד בסטנדרטי ה Request/Response הבסיסיים ביותר שכל broswer תומך בהם. הכוח הגדול שבשיטה הוא האבסטרקציה של יישום ה postback (שהיא לא רעה) מהמתכנת שעובד למעשה עם טפסים (Web Forms) ולא עם דפי web ממש. AJAX הוא בסך הכל מימוש שונה לאותה אבסטרקציה - כלומר, כשאני מוסיף פקד לטופס שלי ומאזין ל onClick עליו לקוד שאני כותב לא ממש אכפת אם נעשה post לכל הטופס או שנעשתה בקשה ב script שתקבל תשובה ותיישם את השינוי המבוקש. השלב הבא הוא ליצור מצב שבו אותו פקד יכול להתנהג בצורה שונה בהתאם להגדרות שאתן לו ברמת האפליקציה, הדף או ע"פ בדיקה בזמן ריצה של דפדפן המשתמש. מה שאני לא אוהב ברעיון שמוצג במאמר הוא הרמיזה לכך שיישום AJAX באפליקציה שלי ידרוש כתיבת קוד JS לקוח או כתיבת WS-ים מיוחדים. אני רוצה את האפשרות לקחת אפליקציה קיימת ולהחיל עליה התנהגויות AJAX-יות בלי לשנות קוד קיים, ואחרי שהושקעה כל כך הרבה מחשבה במנגנון ה postback אני חושב שהיישום שאני מדבר עליו הוא לא כל כך קשה.
 

orenphp

New member
אתה תיהיה צריך להוסיף קוד

על מנת לטפל בתוצאות שמוחזרות מן השרת ולהציג אותם ללקוח ע"פ הצורך שלך (אני בטח שיגיעו control-ים שיממשו משהו פשוט בלקוח בשביל תצוגה, אבל כל דבר מתקדם תיהיה צריך לכתוב בעצמך, כמו תמיד). סה"כ אין לך יותר מדי עבודה עם AJAX, כפי שניתן לראות בדוגמאות: http://ajax.schwarz-interactive.de/csharpsample/default.aspx הקוד מאוד אלגנטי ונקי.
 
זה יותר תלוי במקרה...

בד"כ גוגל הוא השיקול - אם חשוב שהאתר יאונדקס בגוגל מאוד *לא מומלץ* להשתמש ב-AJAX כדי לבנות את האתר. אני מסכים שבמערכות ניהול מאוד כדאי להשתמש ב-AJAX אבל לא רק... גם בניית פורומים לרוב תיעשה בצד הלקוח ע"י שימוש ב-AJAX וזאת משום שצריך להוריד עומס מהשרת (כל הבנייה של העצים זה overhead ענק לשרת). ואם צריך שגוגל יאנדקס אז בונים את הארכיון של האתר בצורה קלאסית ושמים אליו קישור רגיל בכל עמוד של הפורום. לסיכום: צריך לבחון את המקרה - האם גוגל חשוב בו? האם העומס על השרת הוא גבוה באפליקציה? האם נוחות המשתמש עדיפה על גוגל? וכו'...
 

itzikbs

New member
CallBack

MS בגרסאות 2005 הכניסו את העניין כמובנה בתוך ה ASP.NET וייצרו מושג חדש הנקרא, כאמור CallBack שאינו דורש "הרבה קוד לקוח" ודי נחמד. פשוט עוד אימפלמנטציה של MS ל"טריקים ושטיקים" של תוכניתנים רבים שכבר מזמן משתמשים בזה על מנת "לחסוך" POSTBACK - ים "רינדורים" מיותרים. לדעתי ניתן להשתמש בזה לרוב ב: טבלאות LookUp (רשימות "תלויות") בדיקות קלט מהירות החייבות לוגיקה עסקית. בדיקות ב"רקע". תזמון (TIMER) ובדיקות עמוד. סינונים ומיונים למינהם. שינויי תצוגות. ועוד כמה בסגנון הנ"ל. לדעתי ומנסיוני, לא רצוי להשתמש בזה באופן גורף ומלא לכלל המערכת. למרות ה"פיתוי" ...
 
למעלה