ای جکس شامل مجموعه ای از تکنولوژی های مختلف است که گرده هم آمده اند تا یک روش قدرتمند وجدید را برای طراحی برنامه های کاربردی وب ایجاد کنند.
است.Asynchronous JavaScript+Xmlمخفف کلمات Ajax
ای جکس فناوری جدیدی است به جای بارگذاری مجدد کل صفحه، فقط قسمتی تغییر میکند که قرار است اطلاعات جدید را به نمایش درآورد و کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام میشود. در نتیجه هیچگاه صفحه سفید و خالی وب در فواصل کنش و واکنشهای هنگام کار با مرورگر دیده نمیشود و احساسی مشابه تجربه کار با یک نرمافزار دسکتاپ به کاربر دست میدهد.
پیشینه
اصطلاح Ajax را اولین بار آقایJesse James Garrett درسال2005در مقالهای با عنوان "ایجکس" رهیافت جدیدی در برنامههای تحت وب مطرح کرد و خیلی سریع مورد استقبال گسترده برنامه نویسان وب در سراسر جهان قرارگرفت. اعتقاد عمومی این است که تاریخچه بهکارگیری تکنیک مذکور به پیدایش نرمافزار Outlook WebAccess و استفاده از فرمانRequest Http Xmlویا در نهایت با تغییر و تحولاتی که در این مسیر به وجود آمد و جایگزینی شیء XML HTTP Request به جای Java Applet، اکنون روشی برای اسکریپ نویسی از راه دور متداول شده که آنرا با عنوان Ajax میشناسیم.
اما آنچه باعث شد توجهها به سمت Ajax جلب شود، تمرکز شرکت گوگل بر این معماری بود. وبسایتهایی از قبیل Google Map، Gmail و Google Suggest پروژههایی بودند که باعث شد توجه کاربران، چه کاربران عادی و چه کاربران حرفهای، به نحوه کار آنها جلب شود.
امروزه اغلب مرورگرهای مهم و شناختهشده (از جمله فایرفاکس) از آن پشتیبانی میکنند و دیگر یک فناوری محدود به اینترنت اکسپلورر نیست.
تکنولوژيهايي که در Ajax از آنها استفاده ميشود عبارتند از:
1-نمايش استاندارد با استفاده از XHTML و CSS.
2-نمايش پويايي و تعاملات با استفاده از Document Object Model (DOM).
3-تبادل و دستکاري داده با استفاده از XML و XSLT.
4-بازيابي دادهها بصورت غير همروند با استفاده از XMLHttpRequest.و JavaScript براي سرهمبندي همه چيز با هم.
در واقع Ajax ترکيبي از تکنولوژيهاي فوق است و هيچ چيز جديدي ارائه نميدهد. همه شگفتي Ajax در معماريايست که براي ساخت يک برنامه وب، با استفاده از اين تکنولوژيها ارائه ميدهد.
۱-رخدادهای کوچک سمت سرور: اجزای درون یک برنامه وب میتوانند، درخواستهای کوچکی برای سرور ارسال کنند، اطلاعات مورد نیازشان را از سرور دریافت کنند، و هر قسمت از صفحه را که لازم است بر اساس DOM بهروز کنند، بدون اینکه تمام صفحه دوباره بارگذاری و ترسیم شود.
۲-غیر همروند بودن: درخواستهایی که به سرور ارسال میشود، باعث مسدود شدن صفحهٔ درون مرورگر کلاینت نمیشوند. کاربر میتواند به کار با قسمتهای دیگر برنامه ادامه دهد و هنگامی که پاسخی از سرور دریافت شد، با بهروز کردن رابط کاربر، به کاربر اطلاع داده میشود.
۳-عکسالعمل برای هر رخدادی: تقریباً میتوانیم برای تمام رخدادهایی که کاربر بوجود میآورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستم عامل اجازه میدهد دریافت میکنند: کلیک کردن موس، حرکت موس روی شی، زدن یک کلید و غیره. هر رخدادی میتواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود.
منابع
http://www.macromediax.com/learn/category.asp?cat=ajax
http://www.iranphp.net/index.php?option=com_content&task=view&id=47