Ajax وتکنولوژي Web2 چیست؟


تکنولوژي مورد استفاده در صفحات وب مبتني بر HTML و HTTP ميباشد و اين فناوري به گونه اي است که صفحه نمايش داده شده بوسيله آنها داراي تماس مستقيم با سرور نبوده و اين کار را براي برنامه نويساني که با صفحات داراي اطلاعات دائما متغير کار مي کنند سخت کرده است.
فناوري هاي Java و Flash که قابل نصب در صفحات وب هستند متفاوت از HTML عمل مي کنند ولي آنها نيز در بعضي موارد گيج کننده عمل ميکنند چون بسياري از خصوصيتهاي مرورگرها را تغيير مي دهند.
البته مثل هميشه Microsoft راه حل منحصر به فردي دارد: Microsoft Data Binding Controls ،که قادراست هر لحظه با سرور ارتباط برقرار کند ولي بسياري از برنامه نويسان بعلت انحصاري بودن و بعبارت ديگر Open Source نبودن اين برنامه تمايل چنداني به استفاده از آن ندارند.
ولي خوشبختانه با فناوري جديد مشکل رو به فراموشي است. اين تکنيک که بطور فزاينده اي درحال گسترش است تحت عنوان Ajax (با تلفظ صحيح اي جکس) ناميده ميشود .Ajax مخفف Asynchronous Javascript and Xml به معناي ترکيب نامتقارن جاوا اسکريپت و ايکس ام ال مي باشد.
Ajax چيزي به غير از ترکيب چندين فناوري (که همه هم موجود مي باشند) با يکديگر نميباشد و در کل چيز جديدي نمي باشد. حتي گاهي اوقات آن را (DHTML (Dynamic HTML نيز مي نامند.
کلمه Ajax اولين بار توسط جس جيمز گارت از شرکتAdaptive Path در مقاله اي تحت عنوان رهيافت جديدي در برنامه هاي تحت وب استفاده گرديد و بسرعت به کلمه اي جهت تشريح تکنولوژيي که بصورت غير همزمان با سرور ارتباط برقرار مي کند ، تبديل گرديد.
هم اکنون تکنيک Ajax در سايت هائي نظير Google Map قابل مشاهده است.
مهمترين خصوصيت تکنولوژي Ajax در اولين کلمه آن يعني A نهفته است :
A: Asynchronous غير همزماني
در تکنيک Ajax اطلاعات HTML که سرور به مرورگر ارسال مي کند نه تنها شامل اطلاعات قابل مشاهده بروي صفحه مي باشد بلکه حاوي مقادير زيادي کدهاي Active مي باشد که اين کدها در پس زمينه اجرا شده و در حين اينکه صفحه قابل مشاهده در پيش روي شماست اين کدها بصورت غير همزمان (غير همزمان با Load شدن صفحه ) در حال تبادل اطلاعات با سرور مي باشند.فشردن موس يا صفحه کليد باعث بر انگيختن و تحريک اين کدها براي گرفتن اطلاعات بيشتر از سرور مي گردد که اين اطلاعات جديد پس از چند لحظه کوتاه در همين صفحه نمايش داده مي شوند بدون آنکه لازم باشد کل صفحه دوباره Load شود.
اين فرايند بطور کامل متفاوت از آنچه هم اينک وجود دارد مي باشد . بطور معمول براي Load شدن يک صفحه Web مرورگر درخواستي را براي دريافت يک URL به سرور مي فرستد و سرور نيز پاسخ که مي تواند صفحه HTML يا محتويات سازنده يک تصوير باشد را ميفرستد.
مرورگر محتويات متن يا تصوير را تحليل کرده و کار سرور تا لحظه اي که مرورگر درخواست ديگري نکند پايان يافته است . با درخواست مجدد مرورگر سرور مجددا کل صفحه را بازسازي و Reload مي کند که نه تنها خود اين امر (Reload کردن دوباره کل صفحه) زمان زيادي را تلف مي کند بلکه تاخيري قابل ملاحظه در زمان تبادل اطلاعات بين Client و Server بوجود مي آيد .
از اين نظر کاربران Ajax اينترنت بسيار سريع را تجربه ميکنند جائيکه ديگر براي اجراي يک درخواست کوچک در يک صفحه بزرگ احتياج به Load شدن مجدد کل صفحه وجود ندارد . حال اگر به اين فکر کنيم که توسط اين تکنولوژي نياز به Load شدن چندين ميليون صفحه در هر لحظه از بين ميرود و بدين ترتيب به چه ميزان پهناي باند آزاد خواهد شد ، به اهميت و قدرت Ajax پي ميبريم.
اگرچه Javascript و Xml در بسياري از صفحات مبتني بر وب وجود دارد ولي استفاده از Ajax به آساني استفاده از آنها نيست و همانند تمامي تکنولوژي هاي نوپا Ajax نيز با مشکلاتي روبروست که با توجه به مزاياي آن حل اين مشکلات در سالهاي آينده بسيار محتمل به نظر مي رسد.

0 نظرات: