بخش مقالات آکادمی | Articles
آخرین آموزش ها

AJAX مخفف Asynchronous JavaScript And XML، مجموعه‌ای از استانداردها و فناوری‌های وب است که به کمک آن‌ها می‌توان برنامه‌هایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند. با استفاده از این فناوری‌ها و با کمک انتقال تکه‌های کوچک داده و اطلاعات از رایانهٔ مرکزی (Server)، صفحات وب از حالت منفعل خارج می‌شوند و واکنش‌هایی مناسب با رویدادها انجام می‌دهند. ای‌جکس معماری جدیدی برای برنامه‌های تحت وب است، که با سرعت بسیار زیادی در حال گسترش بوده، و کمتر کاربری در اینترنت است که هنوز گذرش به یکی از صفحاتی که با این معماری ساخته شده‌اند نیفتاده، و از قابلیت‌های فوق‌العاده آن بهره‌مند نشده باشد. Gmail، Google Map، Google Suggest، Orkut، و اسامی آشنای دیگر، نمونه‌هایی هستند از کاربرد ای‌جکس. با استفاده از این معماری، صفحات وب تعامل بسیار خوبی با کاربران خواهند داشت. بعلاوه، مهم‌ترین مزیت این معماری این است که دیگر برای انجام هر کاری، لازم نیست صفحه وب دوباره بارگذاری شود. در این مقاله به بررسی تاریخچه، اصول، و شیوه‌ی انجام کارها در این معماری خواهیم پرداخت.

 

واژه ای‌جکس را برای اولین بار Jesse James Garrett در فوریه سال ۲۰۰۵ در مقاله Ajax: A New Approach to Web Applications استفاده کرد. اگرچه نام ای‌جکس برای نخستین بار در سال ۲۰۰۵ ابداع شد که اکنون روشی برای اسکریپ نویسی از راه دور متداول شده که آن‌را با عنوان ای‌جکس می‌شناسیم.

اما آنچه باعث شد پس از مدتی از  ابداع، ناگهان توجه‌ها به سمت ای‌جکس جلب شود، تمرکز شرکت گوگل بر این معماری بود. وب‌سایت‌هایی از قبیل Google Map، جی‌میل از پروژه‌هایی بودند که باعث شد توجه کاربران، چه کاربران عادی و چه کاربران حرفه‌ای، به نحوه کار آن‌ها جلب شود.

ماهيت صفحات وب و پروتکل HTTP به گونه‌اي است که به طور معمول وقتي درحال وب‌گردي هستيم، به ازاي هر کنش و واکنش ميان ما و سايتي که در حال کار با آن هستيم، کل يک صفحه وب از نو بارگذاري و تازه‌سازي (refresh) مي‌شود.

اي‌جکس تغيير محسوسي را در اين سناريو به وجود مي‌آورد؛ به اين ترتيب که به جاي بارگذاري مجدد کل صفحه، فقط قسمتي تغيير مي‌کند که قرار است اطلاعات جديد را به نمايش درآورد و کليه عمليات ارسال اطلاعات و دريافت نتايج در پشت صحنه انجام مي‌شود. در نتيجه هيچ‌گاه صفحه سفيد و خالي وب در فواصل کنش و واکنش‌هاي هنگام کار با مرورگر ديده نمي‌شود و احساسي مشابه تجربه کار با يک نرم‌افزار دسکتاپ به کاربر دست مي‌دهد.

اي‌جکس چيزي نيست ترکيب کردن جاوا اسکريپت و XML در قالب يک موجود ‌نرم‌افزاري جديد.
امروزه اغلب مرورگرهاي مهم و شناخته‌شده (از جمله فايرفاکس) از آن پشتيباني مي‌کنند و ديگر يک فناوري محدود به اينترنت اکسپلورر نيست.

دو فناوري که اي‌جکس  بر اساس آن پیاده سازی شده عبارتند از : جاوا اسکريپت و XML

هر دوي اين فناوري‌ها تا حد زيادي باز هستند و منحصر به شرکت خاصي نيستند. به همين دليل اين روزها تمام محافل دنياي برنامه نويسي مملو از مقالات و تحليل‌هايي درباره AJAX است.
استفاده از اي‌جکس چگونه موجب آزاد شدن پهناي‌باند اينترنت و در نتيجه ميلياردها دلار صرفه‌جويي اقتصادي در اين زمينه مي‌شود و اين به نوبه خود انقلابي در عرصه وب و فضاي سايبر به شمار مي‌رود. اين تحول در شرايطي اتفاق مي‌افتد که همزمان فناوري‌هاي اينترنت پرسرعت همچون ADSL به شدت در حال رشد هستند..

ویژگی های ای جکس:

رخدادهای کوچک سمت سرور: اجزای درون یک برنامه وب می‌توانند، درخواست‌های کوچکی برای سرور ارسال کنند، اطلاعات مورد نیازشان را از سرور دریافت کنند، و هر قسمت از صفحه را که لازم است بر اساس DOM به‌روز کنند، بدون اینکه تمام صفحه دوباره بارگذاری و ترسیم شود.

غیر همروند بودن: درخواست‌هایی که به سرور ارسال می‌شود، باعث مسدود شدن صفحهٔ درون مرورگر کلاینت نمی‌شوند. کاربر می‌تواند به کار با قسمت‌های دیگر برنامه ادامه دهد و هنگامی که پاسخی از سرور دریافت شد، با به‌روز کردن رابط کاربر، به کاربر اطلاع داده می‌شود.

عکس‌العمل برای هر رخدادی: تقریباً می‌توانیم برای تمام رخدادهایی که کاربر بوجود می‌آورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستم‌عامل اجازه می‌دهد دریافت می‌کنند: کلیک کردن موس، حرکت موس روی شی، زدن یک کلید و غیره. هر رخدادی می‌تواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود.

-کاهش حجم و سرعت بالاتر: به‌دلیل عدم نیاز به بارگذاری مجدد كل یك صفحه وب، مقدار داده‌هایی كه لازم است برای تكمیل یك Interaction میان كاربر و سایت مبادله شود، به شدت كاهش می‌یابد و این به معنی افزایش محسوس سرعت نرم‌افزارهای تحت وب، سهولت به‌كارگیری اینترفیس‌های مبتنی بر ای‌جكس و كاربرپسندترشدن آن‌ها می‌شود. استفاده از فناوري اي‌جکس در مقياس گسترده‌ در نرم‌افزارهاي تحت وب. باعث افزايش سرعت کار با اينترنت چند برابر خواهد شد. چنين تحولي مي‌تواند اينترنت را به کامپيوتر دوم کاربران تبديل کند. به گونه‌اي که براي آن‌ها اجراي يک نرم‌افزار از روي وب تفاوت محسوسي با اجراي آن از روي کامپيوتر دسکتاپ نداشته باشد. در اين صورت ممکن است واقعا بخش مهمي از توان پردازشي نرم‌افزارها، چه از نوع دسکتاپ و چه از نوع تحت وب به سيستم‌هاي موسوم به Web Service واگذار شود. از اين رو کساني که مبتکر و مشوق ايده وب سرويس بوده‌اند، اين روزها انگيزه تازه‌اي براي سرعت بخشيدن به اين فناوري پيدا کرده‌اند و تلاش مي‌کنند دو فناوري اي‌جکس و وب سرويس‌ را به‌يکديگر پيوند دهند و راهکارهاي تازه‌اي بيافرينند به همین دلیل این روزها اكثر پورتال‌های بزرگ (مانند Yahoo) مشغول طراحی اینترفیس‌های مبتنی بر Ajax هستند و اغلب مرورگرهای مهم و شناخته‌شده (از جمله فایرفاكس ، گوگل کروم و …) نیز از آن پشتیبانی می‌كنند .

 نهایتا می توان روند کاری ای جکس را به صورت زیر تشریح کرد:

بجای اینکه مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور ای‌جکس را نیز همراه با صفحه بارگذاری می‌کند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریم‌هایی در صفحه پنهان شده‌است. این موتور عامل به‌روز کردن رابط کاربری‌ای که کاربر می‌بیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور می‌دهد. بنابر این، کاربر دیگر شاهد یک صفحه خالی و ساعت شنی و انتظار برای انجام عملیات سمت سرور نخواهد بود.

آن دسته از فعالیت‌های کاربر که باعث یک درخواست HTTP می‌شدند، اکنون با استفاده از جاوااسکریپت موتور ای‌جکس را فراخوانی می‌کنند. در مورد پاسخ به آن دسته از فعالیت‌های کاربر که نیاز به ارسال درخواست به سرور ندارند (مانند اعتبار سنجی‌های ساده داده‌ها، ویرایش داده‌های درون حافظه سیستم کلاینت، و حتی هدایت کاربر به بخش‌های مختلف برنامه در برخی موارد) موتور ای‌جکس خود وارد عمل می‌شود. اگر موتور ای‌جکس برای پاسخ گویی نیاز به چیزی از سمت سرور داشته باشد، (مثلاً اطلاعاتی را از بانک اطلاعاتی بخواهد، کدهای جدیدی برای رابط کاربر لازم داشته باشد و…) بصورت غیر همروند و معمولاً در قالب XML یک درخواست به سرور ارسال می‌کند. ارسال این درخواست هیچ وقفه‌ای در کار کاربر با برنامه ایجاد نخواهد کرد.

اگر علاقه مند به یادگیری ای جکس هستید این آموزش را مشاهده کنید.

تاریخ ارسال
30 فروردین 1395
ارسال شده توسط
بشیر صالحی
میزان بازدید
0 نفر بازدیدکننده
3 دیدگاه
فایلی جهت دانلود وجود ندارد !
مشخصات
نویسنده : بشیر صالحی
حجم و فرمت :

3 دیدگاه ثبت شده

شما هم نظری بدهید
محسن آستانه

مطلب مفیدی بود

hesam

سلام لطفا پس از اتمام ضبط فیلم ها لینکش را برای من ارسال کنید
با تشکر

    مدیر- علی پردل

    سلام و ادب
    این آموزش بر روی سایت آکادمی موجود است برای دانلود اینجا را کلیک کنید .

توجه فرمایید:
نظرات شما پس از بررسی و تایید نمایش داده می شود.
لطفا نظرات خود را فقط در مورد مطلب بالا ارسال کنید.