
مدتی است که لازم شده برای آژاکسی کردن بخشی از یک برنامه تحت وب بزرگ کمی ASP.NET AJAX یاد بگیریم. اما دوستان زیادی شدیداً توصیه کردهاند به جای ASP.NET AJAX از روشهای مستقیم کار با XmlHttpRequest یا ابزارهایی مثل jQuery استفاده کنیم. با آن که قبلاً به استفاده از ASP.NET AJAX مصمم بودیم ولی با شنیدن حرفهای دیگران به شک افتاده که کمی هم راجع به jQuery تحقیق کنیم و آژاکس را دقیقتر بررسی کنیم. آنچه که در ادامه میآید نتیجه ۳ روز بررسی آژاکس در ASP.NET است. این نوشته در سه بخش تقدیم میگردد. منابع مورد اشاره در آخر پاراگرافها در انتهای بخش سوم آمده است. در ابتدا بعضی مفاهیم و اصطلاحات مورد نیاز مرور میشود.
مفاهیم
آژاکس: روشی برای تبادل اطلاعات کلاینت و سرور به صورت پشت صحنه با استفاده از جاوا اسکریپت، شی XmlHttpRequest و DOM به طوری که صفحه post back نخورد و refresh نشود. {۲}
DOM: Document Object Model ساختار یک صفحه در داخل مرورگر است. با جاوا اسکریپت میتوان DOM یک صفحه HTML را در همان سمت کلاینت تغییر داد و عناصر HTML جدید را به آن کم و زیاد کرد.
XmlHttpRequest: این شی (آبجکت) که به نام XHR معروف است مسئول تبادل اطلاعات ناهمزمان بین کلاینت و سرور است. تمامی روشهای آژاکسی دنیا از همین آبجکت XHR برای آژاکسی کردن صفحات استفاده میکنند.
روش برنامهنویسی مستقیم و غیر مستقیم آژاکس: روشهایی که به طور مستقیم با خود XHR کار میکنند یا خیلی به آن نزدیک هستند روش مستقیم نامیده میشوند. خیلی از کتابخانههای جاوا اسکریپتی مثل jQuery و ProtoType و خیلی از روشهایی که در زبانهای PHP و Perl استفاده میشوند از این دسته هستند. از سوی دیگر عملکرد بعضی کتابخانهها به صورتی است که برنامهنویس اصلاً متوجه وجود XHR نمیشود. روشی که این کتابخانهها برای مخفی نگه داشتن جزییات صطح پایین از برنامهنویس استفاده میکنند روش غیر مستقیم نامیده میشود. ASP.NET AJAX کتابخانهای است که از روش غیر مستقیم برنامهنویسی آژاکس استفاده میکند. {۱}
ASP.NET AJAX: کتابخانه نیمه کدباز مایکروسافت برای پیادهسازی قابلیتهای آژاکس در ASP.NET به روش غیر مستقیم است. این کتابخانه تمام جزییات سطح پایین را به طور کامل از دید برنامهنویس مخفی میکند به طوری که برای خیلی از عملیات معمول در آژاکس تنها استفاده از چند خط کد کفایت میکند. ASP.NET AJAX در عین راحتی که به برنامهنویس میدهد در خیلی از حالات سرعت عملیات را به علت حجیم بودنش به شدت کاهش میدهد. این کتابخانه در مقابل راحتی که به برنامهنویس میدهد، انعطاف پذیری را از بین برده و دست و پای برنامهنویس را میبندد. {۴}
jQuery: یک کتابخانه جاوا اسکریپتی خیلی کم حجم است که طی مدت اخیر طرفداران خیلی زیادی پیدا کرده است. هدف اصلی jQuery ارائه امکانات خیلی قدرتمند برای کار با DOM است. گفته میشود استفاده از jQuery برای عملیات DOM نسبت به استفاده از خود جاوا اسکریپت حدود ۹۰ درصد صرفهجویی در حجم کد دارد. jQuery دارای plug-inهای خیلی زیادی برای امور مختلف مثل آژاکس و انیمیشن است. شرکتهای مایکروسافت و نوکیا در مهر ۱۳۸۷ اعلام کردند jQuery را به عنوان بخشی از محصولاتشان ارائه خواهند داد. jQuery اولین پروژه کدباز غیر مایکروسافتی است که به محصولات مایکروسافت اضافه میشود. {۵}
JSON: یک قالب داده ساده مشابه XML است که برای تبادل اطلاعات بین سرور و کلاینت مورد استفاده قرار میگیرد. این قالب به دلیل سادگی آن از XML رایجتر است.

دیدگاهها
مقایسه خیلی خوبی بود. در عین سادگی بسیار عمیق و دقیق بررسی شده بود. دستت درد نکنه افشار جان 🙂