مفهوم Ajax
مفهوم Ajax
AJAX مخفف کلمه Asynchronous JavaScript and XML (ترکیب نامتقارن JavaScript و XML) است. Ajax تکنیکی برای ایجاد صفحات وب سریع و پویا میباشد. Ajax به صفحات وب این امکان را میدهد که به صورت غیر همزمان و تنها با تبادل اطلاعات اندکی با سرور، بخشی از صفحه را به روز رسانی کنند. به این ترتیب میتوان تنها بخش(هایی) از صفحه را بدون بارگذاری کل صفحه به روز رسانی کرد.
نقشه های گوگل، جی میل، یوتیوب، و فیس بوک نمونه هایی از برنامه های کاربردی اند که از AJAX استفاده میکنند.مثلا زمانی که شما عبارتی را در کادر جستجوی Google تایپ میکنید و Google بلافاصله با یک عملیات Ajax پیشنهادهایی را در مورد این عبارت به شما ارائه می کند.
تفاوت Ajax با jquery و javascript
jquery یک framework برای javascript است که به ما امکان می دهد که با نوشتن مقدار کمتری کد، عملیات های بیشتر و سطح بالاتری را اجرا کنیم. اما Ajax یک روش جدید برای ارتباط بین صفحه در حال اجرا در مرورگر اینترنت و یک صفحه با قابلیت تعامل با سرور و پایگاه داده سایت می باشد. در واقع، Ajax یک تکنیک است، نه یک زبان جدید . برای اجرای کدهای Ajax ، آن را می توان با کدهای javascript به تنهایی اجرا کرد،پس به پیش نیاز خاصی احتیاج ندارید. در واقع، کدهای Ajax ، همان کدهای javascript می باشد و تنها برای این تکنیک و روش ها و کدهای مربوط به آن، لغت Ajax به کار می رود.
دلایل استفاده از Ajax
– برنامه های تحت وبی که از Ajax بهره میبرند شامل این خصوصیات هستند:
- مولفه های آشنا و تعاملی رابط کاربری
- کارایی بهتر برای برنامه های وب فرم
- به روز رسانی مقطعی صفحه که تنها بخش تغییر یافته صفحه را refresh میکند
- یکپارچه سازی بخشهای client-side برنامه با خدمات برنامه سرور
- توانایی سفارشی سازی کنترل های سرور به منظور استفاده از ظرفیتهای client
- پشتیبانی از بیشتر مرورگرهای معروف،از جمله IE، فایرفاکس، کروم و سافاری
– بهدلیل عدم نیاز به بارگذاری مجدد کل یک صفحه وب، مقدار دادههایی که لازم است برای تکمیل یک Interaction میان کاربر و سایت مبادله شود، به شدت کاهش مییابد و این به معنی افزایش محسوس سرعت نرمافزارهای تحت وب، سهولت بهکارگیری اینترفیسهای مبتنی بر Ajax و کاربرپسندترشدن آنها میشود. به همین دلیل این روزها اکثر پورتالهای بزرگ (مانند Yahoo) مشغول طراحی اینترفیسهای مبتنی بر Ajax هستند.
معایب Ajax
– هر مرورگری که از JavaScript یا سیستم تقاضای XMLHttp پشتیبانی نکند، یا در صورتی که کاربر این قابلیت مرورگر خود را غیر فعال کرده باشد، امکان استفاده صحیح از صفحاتی که به Ajax متکی هستند را نخواهد داشت.
– با توجه به ساختار صفحاتی که از این فن آوری استفاده می کنند و ماهیت پویای محتوای Ajax، ممکن است خواندن این محتوا توسط برنامه های Crawler امکان پذیر نباشد، در نتیجه این صفحات ممکن است به خوبی در موتورهای جستجوگر رتبه بندی نشوند.
– از نقطه نظر برنامه نویسی نیز حفظ و نگهداری، اشکال زدایی و تست صفحاتی که چنین محتوایی تولید می کنند دشوار خواهد بود.
– برخلاف صفحات معمولی که در آنها کاربر میتواند با فشردن دکمه Back صفحه کلید یا آیکون Back مرورگر به صفحات قبلی بازگردد، صفحاتی که از محتوای Ajax استفاده می کنند امکان بازگشت به صفحه پیشین را ندارند، البته این مسئله در HTML5 به نوعی حل شده است.
روند کاری Ajax
به جای اینکه مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور Ajax را نیز همراه با صفحه بارگذاری میکند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریمهایی در صفحه پنهان شدهاست. این موتور عامل بهروز کردن رابط کاربریای که کاربر میبیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور میدهد. بنابراین، کاربر دیگر شاهد یک صفحه خالی و انتظار برای انجام عملیات سمت سرور نخواهد بود.
آن دسته از فعالیتهای کاربر که باعث یک درخواست HTTP میشدند، اکنون با استفاده از جاوااسکریپت موتور Ajax را فراخوانی میکنند. در مورد پاسخ به آن دسته از فعالیتهای کاربر که نیاز به ارسال درخواست به سرور ندارند موتور Ajax خود وارد عمل میشود. اگر موتور ایجکس برای پاسخ گویی نیاز به چیزی از سمت سرور داشته باشد،بصورت غیر همروند و معمولاً در قالب XML یک درخواست به سرور ارسال میکند. ارسال این درخواست هیچ وقفهای در کار کاربر با برنامه ایجاد نخواهد کرد.