سه شنبه, ۱۸ اردیبهشت, ۱۴۰۳ / 7 May, 2024
مجله ویستا
Ajax چیست؟
Ajax یک مفهوم جدید یا تنها یک تکنولوژی نیست. Ajax نامی است که از سال ۲۰۰۵ به تکنولوژی هایی اطلاق شده است که سالهای زیادی است در وب در حال استفاده هستند. اما تاریخچه Ajax از زمانی شروع می شود که مایکروسافت فعالیت خود را در زمینه توسعه Remote Scripting در سال ۱۹۹۸ آغاز کرد. اگرچه قبل از آن تکنیک هایی برای لود کردن محتوا بر روی صفحات وب موجود بدون نیاز به لود کردن کامل توسعه داد شده بود که نتیجه آن المان IFRAME (ارائه شده در Internet Explorer ۳ در سال ۱۹۹۶) و المان LAYER (ارائه شده در Netscape ۴ در سال ۱۹۹۷) بود.
بعد از آن نیز فعالیت هایی در این زمینه انجام شد. در سال ۲۰۰۲، مایکروسافت Remote Scripting را تغییر داد تا Java Applet را با XMLHttpRequest جایگزین کند. بعد از آنکه XMLHttpRequest در بیشتر browserها استفاده شده است، گهگاه تکنیک های دیگری نیز استفاده شده است.
● تعریف Ajax
همانگونه که گفته شد، Ajax یک تکنولوژی تنها نیست. در واقع مجموعی از چند تکنولوژی موفق است که در کنار هم یک روش جدید قدرتمند را بوجود آورده اند. Ajax ترکیبی است از:
▪ نمایش مبتنی بر استاندارد با استفاده از XHTML و CSS؛
▪ نمایش و تعامل دینامیک با استفاده از Document Object Model یا DOM؛
▪ تبادل و دستکاری داده ها با استفاده از XML و XSLT؛
▪ بازیابی غیر همزمان داده ها با استفاده از XMLHttpRequest؛
▪ جاوا اسکریپت که همه اینها را به هم مرتبط کرده است.
برنامه های وب کلاسیک شبیه چنین مدلی کار می کنند: بیشتر فعالیت های کاربر در UI، یک درخواست HTTP بازگشتی به سرور را شروع می کنند. سرور پردازش هایی را انجام می دهد، نظیر بازیابی داده ها، پردازش اعداد، برقراری ارتباط با سیستم های قدیمی و غیره، و سپس یک صفحه HTML را برای کلاینت می فرستد. این مدلی بر پایه استفاده اصلی وب به عنوان یک رسانه hypertext است، اما آنچه که وب را چیز خوبی برای hypertext می سازد، لزوما برای برنامه های نرم افزاری خوب نیست. این روش از نظر فنی بسیار منطقی است، اما کمکی به کاربر نمی کند. هنگامی که سرور مشغول کارهای خودش است، کاربر چه می کند؟ درست است، انتظار می کشد. و در هر مرحله از اجرا، کاربر بیشتر انتظار می کشد.
واضح است که اگر از ابتدا وب را برای برنامه ها (Applications) طراحی کرده بودیم، کاربران را منتظر نمی گذاشتیم. وقتیکه یک UI لود شده است، چرا باید هر زمان که برنامه نیاز به چیزی از سرور دارد، ارتباط کاربر قطع شود؟ در حقیقت چرا باید کاربر ببیند که برنامه سمت سرور رفته است؟
● چه چیز Ajax متمایز است؟
یک برنامه Ajax، طبیعت شروع-قطع-شروع-قطع ارتباطات موجود در وب را با ارائه یک واسطه - یک انجین Ajax - مابین کاربر و سرور حذف می کند. به نظر می رسد که افزودن یک لایه به برنامه پاسخدهی را کم کند، اما برعکس است.
به جای لود شدن یک صفحه در ابتدای session، مرورگر (browser) یک انجین Ajax را که به زبان جاوا اسکریپت نوشته شده است و معمولا در یک فریم پنهان قرار داده شده است، لود می کند. این انجین هم مسئول رندر کردن UI ی است که کاربر می بیند و هم مسئول برقراری ارتباط با سرور از طرف کاربر است. Ajax اجازه می دهد تا تعامل کاربر با برنامه مستقل از ارتباط با سرور، به صورت غیر همزمان (Asynchronously) اتفاق بیافتد.
بنابر این کاربر هیچ وقت به یک پنجره خالی browser با آیکون ساعت شنی خیره نمی شود تا منتظر باشد که سرور کاری انجام دهد.
هر عمل کاربر که معمولا یک درخواست HTTP تولید می کند، به شکل یک فراخوانی جاوا اسکریپت به انجین Ajax در نظر گرفته می شود. هر پاسخ به عمل کاربر که نیاز به انجام رفت و برگشت کامل به سرور ندارد - نظیر معتبرسازی داده، ویرایش داده در حافظه، و حتی navigation - در خود انجین handle می شود. اگر انجین به منظور پاسخگویی نیاز به داده هایی از سرور داشته باشد، مثلا اگر داده ارسالی برای پردازش، لود کردن کدهای UI جدید، یا بازیابی داده جدید باشد، انجین آن درخواست ها را به صورت غیر همزمان، معمولا با استفاده از XML، و بدون ایجاد وقفه در تعامل کاربر با برنامه، می سازد.
● چه کسانی از Ajax استفاده می کنند؟
Google سرمایه گذاری هنگفتی را در توسعه روش Ajax انجام داده است. همه محصولات اصلی گوگل در سالهای اخیر، نظیر Orkut و Gmail، ویرایش های بتای Google Groups و Google Suggest و Google Maps، برنامه های Ajax هستند. دیگران نیز دنباله رو هستند، بسیاری از قابلیت های مورد علاقه افراد در Flickr بر پایه Ajax است، و موتور جستجوی A۹.com آمازون، تکنیک های مشابهی را به کار برده است.
این پروژه ها نشان می دهد که Ajax فقط یک مفهوم تکنیکی نیست، بلکه برای برنامه های واقعی نیز عملی است. Ajax تکنولوژی جداگانه ای نیست که فقط در آزمایشگاه کار می کند. برنامه های Ajax می توانند در هر اندازه ای باشند، از یک برنامه خیلی ساده و تک منظوره Google Suggest، تا برنامه بسیار پیچیده و حرفه ای Google Maps.
حسین فرخ حیاتی
منابع:
Ajax: A New Approach to Web Applications
What is Ajax?
Ajax (programming)
منابع:
Ajax: A New Approach to Web Applications
What is Ajax?
Ajax (programming)
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
pameranian.com
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
ایران رافائل گروسی دولت سیزدهم اصفهان دولت مجلس شورای اسلامی رهبر انقلاب محمد اسلامی نیچروان بارزانی شورای نگهبان مجلس رئیس جمهور
تهران شهرداری تهران زلزله قتل پلیس دادگاه حجاب آموزش و پرورش قوه قضاییه فضای مجازی سلامت شهرداری
خودرو مالیات سایپا مسکن قیمت طلا قیمت خودرو قیمت دلار ایران خودرو بازار خودرو بانک مرکزی حقوق بازنشستگان بورس
نمایشگاه کتاب تلویزیون سینما دفاع مقدس سریال موسیقی تئاتر سینمای ایران نمایشگاه کتاب تهران کتاب صدا و سیما رسانه ملی
دانش بنیان اینوتکس دانشگاه آزاد اسلامی
اسرائیل رژیم صهیونیستی غزه فلسطین حماس رفح جنگ غزه آمریکا روسیه چین نوار غزه اوکراین
پرسپولیس فوتبال استقلال ذوب آهن لیگ برتر لیگ برتر فوتبال ایران لیگ برتر ایران نساجی بازی رئال مادرید سپاهان جواد نکونام
اپل هوش مصنوعی سامسونگ ناسا سرطان مایکروسافت آیفون گوگل ایلان ماسک باتری فضا فضاپیما
بیماران خاص رژیم غذایی کاهش وزن بیمه زیبایی دندانپزشکی فشار خون