مجموعهای از استانداردها و فناوریهای وب است که به(Ajax؛ سرواژهٔ «Asynchronous JavaScript And XML»)، اِیْجکس یا آژاکس ه
کمک آنها میتوان برنامههایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند.
serverفناوریها طبق معماری که آژاکس پیشنهاد میکند و با کمک انتقال تکههای کوچک داده و اطلاعات از رایانهٔ خادم
صفحات وب از حالت منفعل خارج میشوند و واکنشهایی مناسب با رویدادها انجام میدهند.
* مجموعه فناوریهای تشکیل دهنده آژاکس عبارتاند از
o XHTML و CSS.نمایش استاندارد با استفاده از
o Document Object Model) DOM).نمایش پویایی و تعاملات با استفاده از
o XML و XSLT.تبادل و دستکاری داده با استفاده از
o XMLHttpRequest.بازیابی دادهها بصورت غیر همروند با استفاده از
o برای سرهمبندی همه چیز با هم. JavaScript
معماری جدیدی برای وب Ajax
روش کار برنامههای کلاسیک وب چیزی شبیه این است: اکثر تعاملات کاربر با رابط کاربری باعث ارسال یک درخواست به سرور میشود. سرور پردازشهای لازم را انجام داده و به کلاینت بازمیگرداند. این مدل بر اساس هدف اصلی وب، یعنی ایفای نقش یک رسانه برای ابرمتن است.HTMLسپس یک صفحه ، الزاماً
اما آنچه وب را برای ابرمتنها مناسب میکند، الزاماً آن را برای برنامههای نرمافزاری نیز مناسب نخواهد کرد. مسئله اینجاست که برنامههای وب برای کاربرد بودن طراحی نشدهاند و این باعث شده است که در بسیاری موارد کاربر را نادیده بگیرند(Application)
فرض کنید کاربر میخواهد در یک فروشگاه الکترونیک، مشخصات جنس بعدی را ببیند، یا یک جنس را به سبد خرید خود اضافه کند. اتفاقی که میافتد این است که برای انجام هریک از این کارها، چون نیاز است با سرور ارتباط برقرار شود، باید یک درخواست به سرور ارسال شده، سرور پردازشهای لازم را انجام دهد و سپس یک صفحه به عنوان نتیجه بازگرداند. کاربر هم در این میان میتواند با انگشتانش بازی کند!
گرچه ما به صفحات وب، با همین روند انجام فعالیت هاعادت کرده ایم، اما واقعا روش کلاسیک برنامههای وب، گرچه از نظر تکنیکی مزایای بسیاری دارند، اما مشکلات عمدهای هم دارند. یکی از عمدهترین مشکلات صفحات وب را میتوان همروند کار کردن آنها دانست. (یعنی همین که وقتی درخواستی از سرور داریم، صفحه وب مقابلمان مسدود شده و باید منتظر بمانیم تا سرور کارش تمام شود و صفحهای به عنوان پاسخ برگرداند).
چه پیشنهادی ارائه میدهدAjax اکنون ببینیم
قسمتهای مهم معماری پیشنهادی
* رخدادهای کوچک سمت سرور: اجزای درون یک برنامه وب میتوانند، درخواستهای کوچکی برای سرور ارسال کنند، اطلاعات مورد نیازشان را از سرور دریافت کنند، و هر قسمت از صفحه را که لازم است بر اساس DOM بهروز کنند، بدون اینکه تمام صفحه دوباره بارگذاری و ترسیم شود.
* غیر همروند بودن: درخواستهایی که به سرور ارسال میشود، باعث مسدود شدن صفحهٔ درون مرورگر کلاینت نمیشوند. کاربر میتواند به کار با قسمتهای دیگر برنامه ادامه دهد و هنگامی که پاسخی از سرور دریافت شد، با بهروز کردن رابط کاربر، به کاربر اطلاع داده میشود.
* عکسالعمل برای هر رخدادی: تقریباً میتوانیم برای تمام رخدادهایی که کاربر بوجود میآورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستم عامل اجازه میدهد دریافت میکنند: کلیک کردن موس، حرکت موس روی شی، زدن یک کلید و غیره. هر رخدادی میتواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود.
کاربردها
حتماً در بخش پست الکترونیک وبگاه یاهو دیدهاید که با تایپ حروف اول نام دوستانتان نام چند نفر از آنها از پایگاه دادهها فراخوانی شده و به شما نمایش داده میشود. این کار بدون اینکه صفحه بارگذاری مجدد گردد انجام میشود. به زبان سادهتر، آژاکس فناوریای ست که در آن با بارگذاری شدن یک صفحه، امکان فراخوانی برنامههای سمت رایانهٔ خادم بدون بارگذاری مجدد صفحه وجود دارد. برنامههای آژاکس راهی برای ساخت برنامههایی تعاملی در وب فراهم کردهاند. برای این کار کافیست یک عنصر فعال که قابل فراخوانی در جاوااسکریپت باشد بتواند تحت کنترل جاوااسکریپت با سرور تماس گرفته و اطلاعات درخواست کند.
متن بالا حاصل ترجمه و خلاصه سازی چند مقاله مهم در باره آژاکس است که بنده آن را گرد آوری کرده ام
locked