تکنولوژی ajax چیست ؟و چه کاربردهایی دارد؟
تکنولوژی ajax با تلفظ <ايجكس> يا <ايژاكس> سرنام عبارت Asynchronous JavaScript and XML و به معني <تركيب نامتقارن جاوا اسكريپت وXML می باشد. ماهيت صفحات وب و پروتكل HTTP به گونهاي است كه به طور معمول وقتي درحال وبگردي هستيم، به ازاي هر كنش و واكنش ميان ما و سايتي كه در حال كار با آن هستيم، كل يك صفحه وب از نو بارگذاري و تازه سازي (refresh) ميشود.
تکنولوژی ajax به جاي بارگذاري مجدد كل صفحه، فقط قسمتي تغيير ميكند كه قرار است اطلاعات جديد را به نمايش درآورد و كليه عمليات ارسال اطلاعات و دريافت نتايج در پشت صحنه انجام می گردد.
در نتيجه هيچگاه صفحه سفيد و خالي وب در فواصل كنش و واكنشهاي هنگام كار با مرورگر ديده نميشود و احساسي مشابه تجربه كار با يك نرمافزار دسكتاپ به كاربر دست ميدهد. جادوي ايجاكس چيزي نيست جز يك فكر بكر و آن هم تركيب كردن جاوا اسكريپت و XML در قالب يك موجود نرم افزاري جديد.
اصطلاح Ajax را اولين بار كارشناسي از شركت Adaptive Path به نام جسي جيمزگرت در مقالهاي با عنوان <ايجكس؛ رهيافت جديدي در برنامه هاي تحت وب> مطرح كرد و خيلي سريع مورد استقبال گسترده برنامه نويسان وب در سراسر جهان قرارگرفت. اعتقاد عمومي اين است كه تاريخچه بهكارگيري تكنيك مذكور به پيدايش نرمافزار Outlook WebAccess و استفاده از فرمان XMLHttpRequest كه مايكروسافت ابداع كرده و در نرم افزار اينترنت اكسپلورر به كار رفته است، برمي گردد. اما امروزه اغلب مرورگرهاي مهم و شناخته شده (از جمله فايرفاكس) از آن پشتيباني ميكنند و ديگر يك فناوري محدود به اينترنت اكسپلورر نيست.
ajax چگونه کار می کند؟
این کار طی چند مرحله و با ایجاد یک event (مثلا با کلیک روی یک دکمه یا لینک) آغاز میشود.
مرورگر به کمک جاوا اسکریپت یک شی از xmlhttprequest میسازد و به کمک اینترنت آن را به سرور ارسال میکند.
در سرور درخواست دریافت و پردازش میشود. سپس نتیجهی آن به مرورگر بازگردانده میشود.
مرورگر پاسخ را به کمک جاوا اسکریپت دریافت و نمایش میدهد.
چرا باید از Ajax استفاده کنیم؟
برنامه های تحت وب که از Ajax استفاده میکنند دارای خصوصیات زیر می باشند:
- استفاده مولفه های آشنا و تعاملی رابط کاربری مانند نشان دهنده پیشرفت (progress bar)، tooltip و همچنین پنجره های pop-up)
- کارایی در برنامه های وب فرم بالا می باشد. زیرا بیشتر بخشهای پردازشی صفحه وب میتوانند در مرورگر مدیریت شوند
- به روز رسانی مقطعی صفحه (partial update) که تنها بخش تغییر یافته صفحه refresh میشود
- یکپارچه سازی بخشهای client-side برنامه با خدمات برنامه سرور، بخصوص در فرآیند تایید اعتبار، تعیین نقش کاربران و پروفایل کاربران
- توانایی سفارشی سازی کنترلهای سرور به منظور استفاده از ظرفیتهای client
- پشتیبانی از بیشتر مرورگرهای معروف، مانند IE، فایرفاکس، کروم و سافاری
استفاده از تکنولوژی ajax چه مزایایی دارد؟
رویکرد ایجکس به سمت فناوری وب سرویس قابل توجه است. از آنجا که Ajax تا حد زیادی به معماری XMLHttpRequest وابسته می باشد، این قابلیت را دارد که فرامین ارسال و دریافت اطلاعات را نه فقط از طریق سایت اصلی نمایش دهنده یک صفحه وب، بلکه از طریق سایت های دیگری که احتمالا اطلاعات خود را بر بستر وب سرویس و XML قرار دادهاند نیز دریافت نماید. بنابراین ایجکس بالقوه یک فناوری سازگار با وب سرویس نیز می باشد.
مزیت مهم دیگر Ajax بهرهگیری آن از استاندارد CSSمی باشد.
استانداردی که به تنهایی منشا تحولات دیگری در زمینه اینترفیس نرمافزار های وب است و در آینده بسیار نزدیک به وجه غالب صفحهآرایی و اینترفیس سایتهای وب تبدیل خواهد شد. توجه ایجکس به CSS نشان میدهد که این فناوری همزمان با بهکارگیری جاوا اسکریپت و XML برای مدیریت دادهها، از استاندارد پیشرفتهای برای اینترفیس وب استفاده میکند و میتوان حقیقتا آن را یک فناوری مرتبط با اینترفیس ( و نه فقط تعامل میان کلاینت و سرور) تلقی نمود.
استفاده از تکنولوژی ajax چه معایبی دارد؟
- استفاده از درخواست xmlhttp که ممکن است توسط برخی از مرورگرها پشتیبانی نشود.
- اجرا نشدن دستورات AJAX درصورتی که جاوا اسکریپت مرورگر توسط کاربر غیرفعال شده باشد.
- دشواری بیشتر در اشکالزدایی و تست برنامههای ایجکس
با وجود معایبی که میتوان برای این فناوری نام برد، گاهی استفاده از Ajax، در طراحی وبسایت و نرمافزارهای تحت وب، ضروری به شمار میآید.