آژاکس
آژاکس یا همان آجاکس چیست ؟
تعریف آژاکس
آژاکس یک فنآوری است، آژاکس متشکل از چندین فنآوری دیگر است که هر کدام در مسیری جدید و قوی میآیند. آژاکس از به هم پیوستن پنچ مورد زیر بوجود آمده است :
- ارائه استاندارد پایه با استفاده از XHTML و CSS
- نمایش پویا و تعامل با کاربر با استفاده از DOM(Document Object Model)
- دستکاری و تبادل اطلاعات با استفاده از XML و XSLT
- بازیابی غیر همزمان داده ها با استفاده از XMLHttpRequest
- تقید همه چیز با هم (JavaScript)
مدل قدیمی یا در واقع کلاسیک وب همانند این کار میکرد که بیشترین فعالیتهای کاربر با واســط (Interface)، یــک درخــواست HTTP بود که به سـرور برگشت داده میشد. سرور بعضی پردازشها از قبیل بازیابی اطلاعات را انجام میداد و آنگاه یک صفحه HTML به سمت مشتری باز میگرداند. این یک مدل اقتباس گرفته شده از اصل وب که از رسانه ابرمتن (HyperText) استفاده میکند است.
اما بطوریکه مشتاقان اساس آزمون کاربر میدانند ، چقدر ما وب را عالی میسازیم بدون اینکه نیازی به این عالی سازی برای نرمافزارهای کاربردی داشته باشیم؟
این رویکرد جدید مفاهیم فنی زیادی را میسازد اما یک آزمون کاربر عالی نمیسازد. تا زمانی که سرور در حال انجام کارهای خودش است کاربر باید چکاری انجام دهد؟ درست است، او باید صبر کند و در هر گام یک عمل، باید بیشتر زمان را صبر نماید.
واضح است اگر ما یک طراح وب بودیم نبایستی در این مدت کاربر را منتظر نگه داریم. یکبار واسط (Interface) در سمت مشتری بارگذاری میشود ، چرا باید فعل و انفعال کاربر دچار مکث شود در هر باری که برنامه کابردی نیاز به چیزی از سرور دارد ؟ در حقیقت چرا کاربر باید همیشه برنامه را در حال رفتن به سرور مشاهده کند؟
به چه سبب آژاکس متمایز است ؟
یک برنامه کاربردی آژاکس طبیعت Start-Stop-Start-Stop فعل و انفعال در وب را با استفاده از مطرح کردن واسطی میان کاربر و سرور به نام موتور آژاکس بر طرف نموده است. به نظر میرسد که مانند اضافه کردن یک لایه به برنامه کاربردی است تا برنامه را کمتر به سمت سرور فرستاده و از آن پاسخ دریافت نمایید. اما برعکس این حالت درست میباشد.
درابتدای یک جلسه با یک سرور بجای بارشدن صفحه ابتدا مـرورگر موتور آژاکس را بار مینماید که معمولا با جاوا اسکریپت نوشته شده است و در یک فریم مخفی چیده شده است. این موتور مسئول بین رندر کردن واسطی که کاربر می بیند و ارتباط بر قرار کردن با سرور از طرف کاربر میباشد. این موتور به کاربر اجازه میدهد که مستقل از ارتباط برقرار کردن با سرور ، با برنامه تعامل داشته باشد. همچنین کاربر هرگز در یک صفحه جدید سفید مرورگر با یک آیکون ساعت شنی شروع نمیکند و در حال صبر نخواهد بود تا سرور کارهایش را انجام دهد.
هر عمل معمول کاربر یک درخواست HTTP تولید میکند و به صورت یک قالب جاوا اسکریپت بسوی موتور آژاکس فرستاده می شود. هر پاسخی به کاربر که احتیاج به گرفتن جواب از سرور ندارد مانند اعتبارسنجی ساده دادهها ، ویرایش دادهها در حافظه و غیره ، موتور آژاکس این عمل کاربر را در درون خود اداره کرده و به کاربر پاسخ میدهد.حال اگر موتور نیاز به چیزهایی از سرور برای پاسخ دادن به کاربر داشته باشد همانند دادن اطلاعات برای پردازش ، بارگیری کدهای اضافی واسط یا بازیابی اطلاعات جدید روند کار کمی دچار تغییر میشود، به این صورت که موتور اینگونه نیازها را تبدیل به درخواستهای غیر همزمانی مینماید که معمولا با استفاده از XML و بدون متوقف کردن تعامل کاربر با برنامه میباشد.
در پایان این مقاله به این موضوع اشاره میکنم که در حال حاضر یکی از معروفترین سایتهایی که از این فناوری استفاده می نماید Google است که آخرین ورژن Google Maps را میتوان به عنوان یکی از بارزترین نمونههای استفاده از AJAX نام برد .
اینگونه پروژهها ثابت میکند که AJAX فقط حرف فنی نیست و نمونههای عملی در جهان واقعی کاربردی دارد.
--Emad.h ۳ دسامبر ۲۰۰۸، ساعت ۰۰:۳۹ (UTC)
استفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.
|