مقالات

آژاکس (AJAX) چیست؟

واژه Ajax سرنام عبارت Asynchronous JavaScript and XML و به معنی جاوا اسکریپت و XML آسنکرون یا نامتقارن است. آژاکس فناوری جدیدی است که به کمک آن می‌توان اینترفیس یک برنامه تحت وب را طوری ساخت که وقتی کاربر روی دکمه یا لینکی کلیک می‌کند، کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام ‌شود و فقط آن قسمت از اینترفیس که قرار است اطلاعات جدید را به نمایش درآورد تغییر ‌کند بدون اینکه تمام صفحه از نو بارگذاری شود. در این مقاله می‌خواهیم این فناوری نوین و تحول آفرین را از جنبه‌های مختلف مورد بررسی قرار دهیم و با مبانی فنی آن آشنا شویم.
آژاکس فناوری جدیدی است که به کمک آن می‌توان اینترفیس یک برنامه تحت وب را طوری ساخت که وقتی کاربر روی دکمه یا لینکی کلیک می‌کند، کلیه عملیات ارسال اطلاعات و دریافت نتایج در پشت صحنه انجام ‌شود و فقط آن قسمت از اینترفیس که قرار است اطلاعات جدید را به نمایش درآورد تغییر ‌کند بدون اینکه تمام صفحه از نو بارگذاری شود. در این مقاله می‌خواهیم این فناوری نوین و تحول آفرین را از جنبه‌های مختلف مورد بررسی قرار دهیم و با مبانی فنی آن آشنا شویم.

این واژه را اولین بار جسی جیمز گرت (Jesse James Garrett)، برنامه‌نویسی از شرکت Adaptive Path در مقاله‌ای با عنوان Ajax به‌کار برد. سرنام عبارت Asynchronous JavaScript and XML و به معنی ترکیب نامتقارن جاوا اسکپریپت و ‌XML است.
چرا نامتقارن؟ چون ترکیب این دو فناوری به شما کمک می‌کند قسمتی از یک صفحه وب سایت را بروز کنید، با این عمل، کل آن صفحه از نو بارگذاری شود. این عملیات توسط شیء و فرمانی به نام XMLHttpRequest انجام می‌شود که سال‌ها پیش، هنگام معرفی نسخه ۴ مرورگر اینترنت اکسپلورر وارد این نرم‌افزار شده و به دلیل قابلیت‌های جالبی که دارد، این روزها تمام مرورگرهای معروف و قدرتمند وب مانند فایرفاکس و اپرا از آن پشتیبانی می‌کنند. به کمک این شی‌ء می‌توانید برنامه‌هایی به زبان جاوا اسکریپت بنویسید که در پشت صحنه یک صفحه وب اطلاعاتی را به سرور بفرستند و داده‌هایی را دریافت کنند.
آژاکس اساسا رهاوردی از دنیای جاوا است و بار دیگر فناوری جاوا و زبان اسکریپت‌نویسی وابسته به آن را در کانون توجه برنامه‌نویسان قرار داده است. اما خبر خوب اینست که چون همه پلتفرم‌های برنامه‌نویسی وب از قبیلPHP ،ASP.NET و JSP از جاوا اسکریپت و ‌XML پشتیبانی می‌کنند، فناوری آژاکس در همه این پلاتفرم‌ها پیاده‌سازی شده و حتی جالب است بدانید که تعداد ماژول‌های آژاکس نوشته شده برای دات نت و ‌PHP بیشتر از انواع جاوایی آن است.
مایکروسافت که سال‌ها پیش از شیء XMLHttpRequest در نرم‌افزار Outlook Web Access استفاده کرد و جزو اولین ترویج‌دهندگان این تکنیک به شمار می‌رود اخیرا نرم‌افزاری به نام Atlas معرفی کرده که مخصوص برنامه‌نویسی مبتنی بر آژاکس است. اما چون آژاکس بر اساس جاوا کار می‌کند بدیهی است که جنبش اپن سورس و خیل عظیم برنامه‌نویسان جاوا نیز بیکار نمانده‌ و می‌کوشند تا دیر نشده Ajax را به قلب دنیای نرم‌افزارهای آزاد بیاورند و از انحصاری شدن آن جلوگیری کنند تا این فناوری به استاندارد جدید وب تبدیل شود. به نظر می‌رسد که آنها موفق بوده‌اند زیرا حتی پیاده‌سازی‌های دات نتی آژاکس نیز اغلب به صورت اپن سورس است.

مکانیزم Ajax

جسی جیمز گرت در مقاله معروف خود شیوه عمل آژاکس را چنین توضیح می‌دهد: هر عمل از سوی کاربر که به طور معمول موجب تولید یک تقاضای HTTP شود به جای ارسال مستقیم به وب، موجب فراخوانی یک فرمان جاوا اسکریپتی و هدایت آن به موتور آژاکس می‌شود. هر نوع پاسخی به کاربر از سوی سرور (مانند کنترل صحت داده‌های وارد شده در یک فرم ورود اطلاعات، ویرایش اطلاعات در حافظه و حتی برخی از انواع هدایت کاربر در سایت) نیازی به ارسال یک صفحه جدید به سمت کاربر ندارد و تنها همان قسمتی که باید تغییر کند بروز می‌شود.
به طور سنتی وقتی کاربر فرمی را پرمی‌کند و به سایت ارسال می‌کند، وب سرور با بارگذاری مجدد یا تازه‌سازی صفحه (refresh) و نمایش یک پیغام و یا نتیجه پردازش اطلاعات، به او پاسخ می‌دهد و به همین دلیل هم وقت سرور برای ارسال کل محتوای آن صفحه گرفته می‌شود و هم کاربر باید برای دریافت کامل آن صفحه منتظر بماند؛ که نتیجه آن کاهش بازده سرور، مصرف پهنای باند و تلف شدن وقت و هزینه است. اما به‌کارگیری تکنیک آژاکس این مشکلات را به طرز قابل‌ملاحظه‌ای کاهش می‌دهد.

مزایا و معایب Ajax

طی سال‌های اخیر صنعت نرم‌افزار در عرصه وب به سوی تولید سیستم‌هایی حرکت کرده‌است که هرچه بیشتر مستقل از نوع سیستم‌عامل و مرورگری باشد که کاربر استفاده می‌کند.
نگاهی به سیر تحولات مربوط به زبان‌های برنامه‌نویسی وب مانند PHP و ASP از یک‌سو و کاهش اقبال برنامه‌نویسان به فناوری‌هایی همچون ActiveX و Java Applet در سمت کلاینت از سوی دیگر، موید این نکته است.
در واقع یکی از دلایل مهم توجه دنیای نرم‌افزار به فناوری آژاکس همین است. این دستاورد برخلاف فناوری‌هایی مانند Macromedia Flash نیازمند نصب هیچ نرم‌افزار الحاقی و اضافی روی مرورگر نیست و همین حالا بستر لازم برای پیاده‌سازی آژاکس روی میلیون‌ها سایت و مرورگر وب وجود دارد. در این میان، اتکای آژاکس بر فناوری XMLاز اهمیت ویژه‌ای برخوردار است.
زیرا XML ماهیتا یک فناوری باز است که انعطاف‌پذیری زیادی دارد و هم‌اکنون در مقیاس گسترده‌ای در نرم‌افزارهای تحت وب، از سیستم‌های تجارت‌الکترونیک گرفته تا نرم‌افزارهای مدیریت محتوای سایت‌های وب و فناوری‌هایی همچون وب‌سرویس، ‌RSS و حتی پادکستینگ مورد استفاده قرار می‌گیرد.
ظهور آژاکس نشان می‌دهد که فناوری XML هنوز قابلیت‌های کشف‌نشده‌‌ای دارد که همچنان بکر مانده‌اند و می‌توانند منشا تحولات بزرگ در سیستم‌های اطلاعاتی و ارتباطی باشند.

Related posts

با ویژگی های جدید اندروید ۸ آشنا شوید

amir hosaenain

تاریخچه لینوکس (قسمت سوم)

amir hosaenain

آنگولار چیست ؟

amir hosaenain