up
Search      menu
فنآوری اطلاعات :: مقاله آژاكس PDF
QR code - آژاكس

آژاكس

آژاكس – اي جكس Ajax

در واقع Ajax سرنام عبارت Asynchronous JavaScript And XML و روشي جديد از استاندارهاي موجود كه با استفاده از آن مي توان برنامه هاي وب را سريعتر ، بهتر و كاربر پسندتر ساخت . Ajax يك زبان مستقل نيست اما بر مبناي JavaScript و HTTP پايه ريزي شده است .
Ajax به عبارتي يك تكنيك جديد براي هر چه بهتر و سريعتر كردن برنامه هاي محاوره اي - تعاملي - تحت وب هست و براي دريافت يا ارسال داده ها بين مرورگر و وب سرور از جاواسكريپت استفاده مي كند . به اين صورت كه به جاي لود تمام صفحه وب تنها قسمتي از صفحه را كه در آن توسط كاربر تغيير ايجاد شده است ، لود مي كند . به اين ترتيب سرعت لود و بارگذاري صفحات بالا مي رود .
تكنولوژي Ajax
Ajax تكنولوژي هست كه برروي مرورگر شما اجرا مي شود و از يك ارتباط نامتقارن – غير همزمان - براي انتقال داده ها (درخواست هاي HTTP ) بين مرورگر و وب سرور استفاده مي كند . به عبارتي ديگر اين اجازه را به صفحه وب مي دهد كه فقط داده ها و اطلاعات كوچك مورد نياز را به جاي تمام صفحه وب از وب سرور در خواست كند . از اين روش طراحي وب كه user friendly تر هست ، براي مواردي كه تعامل زياد با كاربر ( صفحات محاوره اي ) مدنظر هست مثل ميل باكس ها ( يه لحاظ سرعت در عمليات ) مي توان استفاده كرد .
Ajax يك استاندارد باز
Ajax بر پايه استاندارده هاي باز زير پياده سازي شده است :
JavaScript
XML
HTML
CSS
اين استاندارد هاي در Ajax بسيار خوب تعريف شده اند و همچنين در اكثر مرورگر هاي به خوبي پشتيباني مي شوند . در واقع برنامه هاي كاربردي Ajax يك مرورگر و يك پلتفرم كاملآ مستقل هستند . و سالهاست كه كاربران از اين استاندارد ها ( شايد به صورت جداگانه ) استفاده مي كردند و آن را توسعه مي دهند . همان طور كه قبلآ ذكر شد Ajax يك زبان مستقل نيست و هر كسي مي تواند سايت خود را از HTML ،CSS خام به اين تكنولوژي ارتقاء دهد .
چگونه Ajax از اين استانداردها استفاده مي كند
در صفحات وب سنتي وقتي شما يك فرم را پر كرده و دكمه ارسال را مي زنيد اين صفحه با استفاده از HTML اطلاعات شما را به وب سرور ارسال مي كند . بعد وب سرور اطلاعات شما را پردازش كرده و نتيجه آن را در يك صفحه جديد براي شما ارسال مي كند . در نتيجه به خاطر پاسخي كه وب سرور هر بار در يك صفحه جديد ارسال مي كند ، سرعت پاسخ به اين درخواستها پايين و كاربر پسند نيست . به كمك Ajax مي توان به اين درخواستها ( ارسال و دريافت اطلاعات از سريق HTTP ) با استفاده از JavaScript در پشت صحنه صفحه وب پاسخ داد و تنها همان قسمت از اطلاعاتي كه بايد در وب سرور پردازش شود را به وب سرور ارسال و پاسخش را دريافت كرد و نهايتآ نتيجه را نمايش داد . به اين ترتيب قسمتهايي از صفحه كه ثابت هست نيازي به دوباره لود شدن ندارند .
نقش XML هم در اين بين تعريف قالبي براي دريافت اطلاعات از سرور هست ، اگر چه از هر قالب متني ( Text Plain ) مي توان براي اين كار استفاده كرد .
هم اكنون گوگل و ياهو براي صندوق پستي خود از اين تكنولوژي استفاده مي كنند .
تعريف آژاکس
همانطور که گفته شد آژاکس يک فناوري است. آژاکس متشکل از چندين فناوري ديگراست که هر کدام در مسيري جديد و قوي مي آيند. آژاکس از بهم پيوستن پنچ مورد زير بوجود آمده است:
1 . ارائه استاندارد پايه با استفاده از XHTML و CSS .
2 . نمايش پويا و تعامل با کاربر با استفاده از DOM(Document Object Model)
3 . دستکاري و تبادل اطلاعات با استفاده از XML و XSLT.
4 . بازيابي غير همزمان داده ها با استفاده از XMLHttpRequest.
5 . تقيد همه چيز با هم (JavaScript)
مدل قديمي يا در واقع کلاسيک وب همانند اين کار مي کرد که بيشترين فعاليت هاي کاربربا واسط (Interface) ، يک درخواست HTTP بود که به سرور برگشت داده مي شد. سرور بعضي پردازش ها از قبيل بازيابي اطلاعات را انجام مي داد و آنگاه يک صفحه HTML به سمت مشتري باز مي گرداند. اين يک مدل اقتباس گرفته شده از اصل وب که از رسانه ابر متن (HyperText) استفاده مي کند است.
اما بطوريکه مشتاقان اساس آزمون کاربر مي دانند ، چقدر ما وب را عالي ميسازيم بدون اينکه نيازي به اين عالي سازي براي نرم افزارهاي کاربردي داشته باشيم؟
اين رويکرد جديد مفاهيم فني زيادي را ميسازد اما يک آزمون کاربر عالي نمي سازد. تا زماني که سرور در حال انجام کارهاي خودش است کاربر بايد چکاري انجام دهد؟ درست است ، او بايد صبر کند و در هر گام يک عمل ، بايد بيشتر زمان را صبر نمايد.
واضح است اگر ما يک طراح وب بوديم نبايستي در اين مدت کاربر را منتظر نگه داريم. يکبار واسط (Interface) در سمت مشتري بارگذاري مي شود ، چرا بايد فعل و انفعال کاربر دچار مکث شود در هر باري که برنامه کابردي نياز به چيزي از سرور دارد ؟ در حقيقت چرا کاربر بايد هميشه برنامه را در حال رفتن به سرور مشاهده کند؟
به چه سبب آژاکس متمايز است ؟
يک برنامه کاربردي آژاکس طبيعت Start-Stop-Start-Stop فعل و انفعال در وب را بااستفاده از مطرح کردن واسطي ميان کاربر و سرور به نام موتور آژاکس بر طرف نموده است. بنظر ميرسد که مانند اضافه کردن يک لايه به برنامه کاربردي است تا برنامه را کمتر به سمت سرور فرستاده و از آن پاسخ دريافت نماييد. اما برعکس اين حالت درست مي باشد.
درابتداي يک جلسه با يک سرور بجاي بارشدن صفحه ابتدا مرورگر موتور آژاکس را بار مي نمايد که معمولا با جاوا اسکريپت نوشته شده است و در يک فريم مخفي چيده شده است. اين موتور مسئول بين رندر کردن واسطي که کاربر مي بيند و ارتباط بر قرار کردن با سرور از طرف کاربر مي باشد. اين موتور به کاربر اجازه مي دهد که مستقل از ارتباط برقرار کردن با سرور ، با برنامه تعامل داشته باشد. همچنين کاربر هرگز در يک صفحه جديد سفيد مرورگر با يک آيکون ساعت شني شروع نمي کند و در حال صبر نخواهد بود تا سرور کارهايش را انجام دهد.
در شکل زير دو مدل را از لحاظ زمان مورد بررسي قرار داده ايم و در واقع نحوه بهبود سيستم کلاسيک وب با استفاده از مدل آژاکس را نمايش داده ايم.
هر عمل معمول کاربر يک درخواست HTTP توليد مي کند و به صورت يک قالب جاوا اسکريپت بسوي موتور آژاکس فرستاده مي شود. هر پاسخي به کاربر که احتياج به گرفتن جواب از سرور ندارد مانند اعتبارسنجي ساده داده ها ، ويرايش داده ها در حافظه و غيره ، موتور آژاکس اين عمل کاربر را در درون خود اداره کرده و به کاربر پاسخ مي دهد.حال اگر موتور نياز به چيزهايي از سرور براي پاسخ دادن به کاربر داشته باشد همانند دادن اطلاعات براي پردازش ، بارگيري کدهاي اضافي واسط يا بازيابي اطلاعات جديد روند کار کمي دچار تغيير مي شود ، به اين صورت که موتور اينگونه نيازها را تبديل به درخواست هاي غير همزماني مي نمايد که معمولا با استفاده ازXML و بدون متوقف کردن تعامل کاربر با برنامه مي باشد.
واژه Ajax با تلفظ يا سرنام عبارت Asynchronous JavaScript and XML و به معني XML است. ماهيت صفحات وب و پروتکل HTTP به گونه‌اي است که به طور معمول وقتي درحال وب‌گردي هستيم، به ازاي هر کنش و واکنش ميان ما و سايتي که در حال کار با آن هستيم، کل يک صفحه وب از نو بارگذاري و تازه‌سازي (refresh) مي‌شود.
اي‌جکس فناوري جديدي است که تغيير محسوسي را در اين سناريو به وجود مي‌آورد؛ به اين ترتيب که به جاي بارگذاري مجدد کل صفحه، فقط قسمتي تغيير مي‌کند که قرار است اطلاعات جديد را به نمايش درآورد و کليه عمليات ارسال اطلاعات و دريافت نتايج در پشت صحنه انجام مي‌شود. در نتيجه هيچ‌گاه صفحه سفيد و خالي وب در فواصل کنش و واکنش‌هاي هنگام کار با مرورگر ديده نمي‌شود و احساسي مشابه تجربه کار با يک نرم‌افزار دسکتاپ به کاربر دست مي‌دهد.
جادوي اي‌جاکس چيزي نيست جز يک فکر بکر و آن هم ترکيب کردن جاوا اسکريپت و XML در قالب يک موجود ‌نرم‌افزاري جديد.
اصطلاح Ajax را اولين بار کارشناسي از شرکت Adaptive Path به نام جسي جيمزگرت در مقاله‌اي با عنوان مطرح کرد و خيلي سريع مورد استقبال گسترده برنامه نويسان وب در سراسر جهان قرارگرفت. اعتقاد عمومي اين است که تاريخچه به‌کارگيري تکنيک مذکور به پيدايش نرم‌افزار Outlook WebAccess و استفاده از فرمان XMLHttpRequest که مايکروسافت ابداع کرده و در نرم‌افزار اينترنت اکسپلور به‌کار رفته است، برمي‌گردد. اما امروزه اغلب مرورگرهاي مهم و شناخته‌شده (از جمله فايرفاکس) از آن پشتيباني مي‌کنند و ديگر يک فناوري محدود به اينترنت اکسپلورر نيست.
● چرا Ajax اين قدر اهميت‌دارد؟
منابع اطلاعاتي سودمند درباره Ajax
▪ راهنماي Ajax براي مبتديان
▪ چرا اکنون Ajax مهم است؟
▪ Ajax به نرم‌افزار‌هاي تحت وب حال و هواي تازه‌اي مي‌دهد
▪ راهنماي موزيلا براي شروع کار با Ajax
▪ چگونه يک Ajax در ASP.NET بسازيم؟
▪ روش استفاده از Ajax
▪ پورتال اي‌جکس کاران
▪ معرفي انواع نرم‌افزارها و پياده‌سازي‌هاي Ajax
▪ تشکل آنلاين اي‌جکسي‌ها
▪ اصول و قواعد طراحي با Ajax
▪ پادکست يکي از علاقه‌مندان Ajax
▪ مجله Ajax
فناوري اي‌جکس جديد است و شگفت‌انگيز به‌نظر مي‌رسد. ولي در حقيقت کل اين شعبده بر اساس فناوري‌هايي بنا شده است که هم‌اکنون موجودند: جاوا اسکريپت و XML. هر دوي اين فناوري‌ها تا حد زيادي باز هستند و منحصر به شرکت خاصي نيستند. به همين دليل اين روزها تمام محافل دنياي برنامه نويسي مملو از مقالات و تحليل‌هايي درباره Ajax است. به عنوان نمونه مي‌توانيد صفحه نخست سايت موسوم به را بازکنيد.
بيشتر اين صفحه (در زمان نگارش اين يادداشت) به مقالات و مطالب متنوعي درباره Ajax اختصاص يافته است. مجلات برنامه‌نويسي نيز مقالات متعددي در اين زمينه منتشر کرده‌اند و سايت‌هاي معروفي مانند
O Reilly و xml.com نيز در اين باره مطلب دارند.
بنابراين ظرفيت بالايي براي تبديل اي‌جکس به يک استاندارد جهاني وجود دارد. از اين رو قرار است در تاريخ سيزدهم مارس سمينار مهمي در زمينه Ajax برگزار شود. اگر همين الان به سايت ajaxseminar.com مراجعه کنيد، متوجه مي‌شويد که علاوه بر طراح اين تکنيک، چندين برنامه‌نويس شاخص از شرکت‌هاي بزرگي همچون ياهو در آن شرکت خواهند داشت.
اين فناوري از يک جنبه ديگر نيز اهميت دارد. به‌دليل عدم نياز به بارگذاري مجدد کل يک صفحه وب، مقدار داده‌هايي که لازم است براي تکميل يک Interaction ميان کاربر و سايت مبادله شود، به شدت کاهش مي‌يابد و اين به معني افزايش محسوس سرعت نرم‌افزارهاي تحت وب، سهولت به‌کارگيري اينترفيس‌هاي مبتني بر اي‌جکس و کاربرپسندترشدن آن‌ها مي‌شود. به همين دليل اين روزها اکثر پورتال‌هاي بزرگ (مانند ياهو) مشغول طراحي اينترفيس‌هاي مبتني بر Ajax هستند.
با اين همه مزاياي اي‌جکس‌ به همين‌ موارد ختم نمي‌شود. تصور کنيد وقتي در طول شبانه روز ميلياردها بار فرآيند بارگذاري مجدد صفحات وب تعاملي در شبکه اينترنت تکرار مي‌شود، استفاده از اي‌جکس چگونه موجب آزاد شدن پهناي‌باند اينترنت و در نتيجه ميلياردها دلار صرفه‌جويي اقتصادي در اين زمينه مي‌شود و اين به نوبه خود انقلابي در عرصه وب و فضاي سايبر به شمار مي‌رود. اين تحول در شرايطي اتفاق مي‌افتد که همزمان فناوري‌هاي اينترنت پرسرعت همچون ADSL به شدت در حال رشد هستند.
حال تصور کنيد اگر فناوري اي‌جکس در مقياس گسترده‌اي مورد استفاده نرم‌افزارهاي تحت وب قرارگيرد. آنگاه افزايش سرعت کار با اينترنت چند برابر خواهد شد. چنين تحولي مي‌تواند اينترنت را به کامپيوتر دوم کاربران تبديل کند. به گونه‌اي که براي آن‌ها اجراي يک نرم‌افزار از روي وب تفاوت محسوسي با اجراي آن از روي کامپيوتر دسکتاپ نداشته باشد. در اين صورت ممکن است واقعا بخش مهمي از توان پردازشي نرم‌افزارها، چه از نوع دسکتاپ و چه از نوع تحت وب به سيستم‌هاي موسوم به Web Service واگذار شود. از اين رو کساني که مبتکر و مشوق ايده وب سرويس بوده‌اند، اين روزها انگيزه تازه‌اي براي سرعت بخشيدن به اين فناوري پيدا کرده‌اند و تلاش مي‌کنند دو فناوري اي‌جکس و وب سرويس‌ را به‌يکديگر پيوند دهند و راهکارهاي تازه‌اي بيافرينند.
● کدام سايت‌ها از اي‌جکس استفاده کرده‌اند؟
دنياي برنامه‌نويسي وب هنوز درگير هيجانات مربوط به آشنايي با اين پديده است و در حال بررسي مشکلات تکنيکي و هضم و جذب آن در بافت برنامه‌هاي تحت وب مي‌باشد. به همين دليل ميزان استفاده عملي از آن چندان گسترده نيست. اما چون کارايي اي‌جکس ديگر براي همه ثابت شده است، حرکت‌هاي بزرگي در سراسر اينترنت به سمت استفاده از اين فناوري در جريان است. از جمله اينترفيس نسخه دوم Yahoo Mail که به نسخه بتا معروف است و فعلا در دسترس کاربران سرويس غير رايگان ياهو قراردارد، از همين فناوري استفاده مي‌کند که به زودي اينترفيس جديد در دسترس عموم قرار مي‌گيرد. سرويس Gmail و Google Map نيز از اين فناوري استفاده مي‌کنند.
اينگونه پروژه ها ثابت مي کند که AJAX فقط حرف فني نيست و نمونه هاي عملي در جهان واقعي کاربردي دارد.

دانلود نسخه PDF - آژاكس