ورود

نسخه کامل مشاهده نسخه کامل : پديده‌ انقلابي Ajax و جاوا



B O L O T
04-06-2007, 22:04
چیست؟

امروزه، معمولا وقتی صحبت از طراحی برنامه های تعاملی(interaction design ) می شود،بیشتر توجه ها معطوف به وب است. برنامه های کاربردی تحت وب به سرعت در حال رشد و توسعه هستند و کاربران دوست دارند که با همان راحتی و سرعتی که با Desktop application ها کار می کنند با Web application ها هم کار کنند. طراحان برنامه های کاربردی وب هم برای از بین بردن این شکاف ، روش های طراحی گوناگونی را پیشنهاد کرده اند.یکی از این روش ها روش Ajax است. Ajax مخفف Asynchronous JavaScript + XML می باشد.
نگاهی به Suggest Google و Google Maps بیندازید . در Google Maps وقتی روی قسمتی از نقشه zoom می کنید و یا بالا و پایین می روید همه چیز تقریبا به طور همزمان و بدون Load شدن مجدد صفحات انجام می شود. در Suggest Google نیز وقتی مشغول تایپ کلمه مورد نظر خود هستید، به طور همزمان کلمات مرتبط با آن و نیز نتایج حاصل از جستجوی آنها نمایش داده می شود. این برنامه ها چگونه کار می کنند؟
مدل کلاسیک برنامه های کاربردی وب به این صورت است که: کاربران توسط یک واسط، درخواست خود را به وب سرور ارسال می کنند. سرور پردازشی خاص برای درخواست مورد نظر کاربر انجام می دهد و سپس نتیجه را به صورت HTML به کاربر برمی گرداند. این مدل با کاربرد اولیه وب به عنوان واسط انتقال hypertext سازگار است اما تجربیات نشان می دهد که در طراحی برنامه های کاربردی لزوما استفاده از این مدل نتیجه مطلوب کاربران را نمی دهد!
وقتی که سرور مشغول پردازش درخواست ها است، کاربر چه می کند؟ مسلم است که انتظار می کشد! و این انتظار در هر مرحله از انجام کار بیشتر و بیشتر می شود! زمانی که یک فرم وب را در برنام کاربردی خود قرار می دهید کاربر باید تا زمان دریافت نتایج صبر کند.اصلا چه لزومی دارد که کاربر ببیند برنامه او به سمت سرور می رود؟! Ajax به این پرسش ها پاسخ می دهد
AJAX ( Asynchronous Javascript And XML ) تکنولوژی جدیدی می باشد که به کمک شما آمده تا سایت های اینترنتی خود را به طرز وحشتناکی سرعت بخشید طوری که دهان همه باز بماند و به قول بچه ها فک همه بخوره زمین !!! google از این تکنولوژی به طرز احسن در قسمت های Google Suggest و Google Maps استفاده کرده البته مختص google نیست و سایت های دیگری نیز هستند که از این تکنولوژی استفاده کرده اند .
اما AJAX چیست ؟ چه قدر خوب می شد اگر می تونستیم هنگامی که کاربر صفحه وب ما رو باز کرده در پشت صحنه و دور از دید کاربر اطلاعات مورد نیاز صفحات بعد یا هر چیز دیگه رو از سرور دریافت کنیم. مثلا کاربر صفحه لاگین رو باز کرده و آماده می شه تا بعد از وارد کردن نام کاربری و کلمه عبور خود میل باکس خود رو ببینه و یا وارد فروم مورد علاقه خود بشه اصلا مهم نیست می خواد کجا بره مهم اینه که در این حین شما فرصت بسیار زیاده دارید تا اطلاعات مورد نیاز صفحه بعد را خیلی آروم و بی دقدقه از سرور دریافت کنید. بیایید واضح تر و تخصصی تر صحبت کنیم; ما می خواهیم در حین اینکه کاربر مشغول تماشای صفحه فعلی می باشد با استفاده از اسکریپت های سمت کلاینت اطلاعات مورد نیاز برای برپائی صفحه بعدی را که حدس می زنیم کاربر می خواهد به آن رجوع کند از سرور دریافت کنیم. خوب Ajax این کار را برای ما انجام میده

اگر برنامه نويس وب هستيد، لابد خبر داريد كه اين روزها همه درباره Ajax صحبت مي*كنند. بعضي معتقدند Ajax يكي از اركان فني موج جديدي است كه به Web 2.0 معروف شده است و انجمن*ها و تريبون*هاي آنلاين مملو از مقالات و اظهارنظرهاي مربوط بهAjax است
اگر برنامه نويس وب هستيد، لابد خبر داريد كه اين روزها همه درباره Ajax صحبت مي*كنند. بعضي معتقدند Ajax يكي از اركان فني موج جديدي است كه به Web 2.0 معروف شده است. بعضي از سايت*هاي بزرگ مانند ياهو و گوگل هم*اكنون Ajax را به خدمت گرفته*اند، انجمن*ها و تريبون*هاي آنلاين مملو از مقالات و اظهارنظرهاي مربوط بهAjax است و همزمان تلاش*هاي وسيعي در جريان است تا اين فناوري جديد همچنان به صورت اپن سورس باقي بماند و انحصاري نشود.

واژه Ajax با تلفظ <اي*جكس> يا <اي*ژاكس> سرنام عبارت Asynchronous JavaScript and XML و به معني <تركيب نامتقارن جاوا اسكريپت و>XML است. ماهيت صفحات وب و پروتكل HTTP به گونه*اي است كه به طور معمول وقتي درحال وب*گردي هستيم، به ازاي هر كنش و واكنش ميان ما و سايتي كه در حال كار با آن هستيم، كل يك صفحه وب از نو بارگذاري و تازه*سازي (refresh) مي*شود.
اي*جكس فناوري جديدي است كه تغيير محسوسي را در اين سناريو به وجود مي*آورد؛ به اين ترتيب كه به جاي بارگذاري مجدد كل صفحه، فقط قسمتي تغيير مي*كند كه قرار است اطلاعات جديد را به نمايش درآورد و كليه عمليات ارسال اطلاعات و دريافت نتايج در پشت صحنه انجام مي*شود. در نتيجه هيچ*گاه صفحه سفيد و خالي وب در فواصل كنش و واكنش*هاي هنگام كار با مرورگر ديده نمي*شود و احساسي مشابه تجربه كار با يك نرم*افزار دسكتاپ به كاربر دست مي*دهد.
جادوي اي*جاكس چيزي نيست جز يك فكر بكر و آن هم تركيب كردن جاوا اسكريپت و XML در قالب يك موجود *نرم*افزاري جديد.
اصطلاح Ajax را اولين بار كارشناسي از شركت Adaptive Path به نام جسي جيمزگرت در مقاله*اي با عنوان <اي*جكس؛ رهيافت جديدي در برنامه*هاي تحت وب> مطرح كرد و خيلي سريع مورد استقبال گسترده برنامه نويسان وب در سراسر جهان قرارگرفت. اعتقاد عمومي اين است كه تاريخچه به*كارگيري تكنيك مذكور به پيدايش نرم*افزار Outlook WebAccess و استفاده از فرمان XML[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] كه مايكروسافت ابداع كرده و در نرم*افزار اينترنت اكسپلور به*كار رفته است، برمي*گردد. اما امروزه اغلب مرورگرهاي مهم و شناخته*شده (از جمله فايرفاكس) از آن پشتيباني مي*كنند و ديگر يك فناوري محدود به اينترنت اكسپلورر نيست.

فناوري اي*جكس جديد است و شگفت*انگيز به*نظر مي*رسد. ولي در حقيقت كل اين شعبده بر اساس فناوري*هايي بنا شده است كه هم*اكنون موجودند: جاوا اسكريپت و XML. هر دوي اين فناوري*ها تا حد زيادي باز هستند و منحصر به شركت خاصي نيستند. به همين دليل اين روزها تمام محافل دنياي برنامه نويسي مملو از مقالات و تحليل*هايي درباره Ajax است. به عنوان نمونه مي*توانيد صفحه نخست سايت موسوم به <كانال شبكه برنامه نويسان سان> را بازكنيد.

بيشتر اين صفحه (در زمان نگارش اين يادداشت) به مقالات و مطالب متنوعي درباره Ajax اختصاص يافته است. مجلات برنامه*نويسي نيز مقالات متعددي در اين زمينه منتشر كرده*اند و سايت*هاي معروفي مانند
O' Reilly و xml.com نيز در اين باره مطلب دارند.
بنابراين ظرفيت بالايي براي تبديل اي*جكس به يك استاندارد جهاني وجود دارد. از اين رو قرار است در تاريخ سيزدهم مارس سمينار مهمي در زمينه Ajax برگزار شود. اگر همين الان به سايت ajaxseminar.com مراجعه كنيد، متوجه مي*شويد كه علاوه بر طراح اين تكنيك، چندين برنامه*نويس شاخص از شركت*هاي بزرگي همچون ياهو در آن شركت خواهند داشت.
اين فناوري از يك جنبه ديگر نيز اهميت دارد. به*دليل عدم نياز به بارگذاري مجدد كل يك صفحه وب، مقدار داده*هايي كه لازم است براي تكميل يك Interaction ميان كاربر و سايت مبادله شود، به شدت كاهش مي*يابد و اين به معني افزايش محسوس سرعت نرم*افزارهاي تحت وب، سهولت به*كارگيري اينترفيس*هاي مبتني بر اي*جكس و كاربرپسندترشدن آن*ها مي*شود. به همين دليل اين روزها اكثر پورتال*هاي بزرگ (مانند ياهو) مشغول طراحي اينترفيس*هاي مبتني بر Ajax هستند.
با اين همه مزاياي اي*جكس* به همين* موارد ختم نمي*شود. تصور كنيد وقتي در طول شبانه روز ميلياردها بار فرآيند بارگذاري مجدد صفحات وب تعاملي در شبكه اينترنت تكرار مي*شود، استفاده از اي*جكس چگونه موجب آزاد شدن پهناي*باند اينترنت و در نتيجه ميلياردها دلار صرفه*جويي اقتصادي در اين زمينه مي*شود و اين به نوبه خود انقلابي در عرصه وب و فضاي سايبر به شمار مي*رود. اين تحول در شرايطي اتفاق مي*افتد كه همزمان فناوري*هاي اينترنت پرسرعت همچون ADSL به شدت در حال رشد هستند.
حال تصور كنيد اگر فناوري اي*جكس در مقياس گسترده*اي مورد استفاده نرم*افزارهاي تحت وب قرارگيرد. آنگاه افزايش سرعت كار با اينترنت چند برابر خواهد شد. چنين تحولي مي*تواند اينترنت را به كامپيوتر دوم كاربران تبديل كند. به گونه*اي كه براي آن*ها اجراي يك نرم*افزار از روي وب تفاوت محسوسي با اجراي آن از روي كامپيوتر دسكتاپ نداشته باشد. در اين صورت ممكن است واقعا بخش مهمي از توان پردازشي نرم*افزارها، چه از نوع دسكتاپ و چه از نوع تحت وب به سيستم*هاي موسوم به Web Service واگذار شود. از اين رو كساني كه مبتكر و مشوق ايده وب سرويس بوده*اند، اين روزها انگيزه تازه*اي براي سرعت بخشيدن به اين فناوري پيدا كرده*اند و تلاش مي*كنند دو فناوري اي*جكس و وب سرويس* را به*يكديگر پيوند دهند و راهكارهاي تازه*اي بيافرينند.
كدام سايت*ها از اي*جكس استفاده كرده*اند؟
دنياي برنامه*نويسي وب هنوز درگير هيجانات مربوط به آشنايي با اين پديده است و در حال بررسي مشكلات تكنيكي و هضم و جذب آن در بافت برنامه*هاي تحت وب مي*باشد. به همين دليل ميزان استفاده عملي از آن چندان گسترده نيست. اما چون كارايي اي*جكس ديگر براي همه ثابت شده است، حركت*هاي بزرگي در سراسر اينترنت به سمت استفاده از اين فناوري در جريان است. از جمله اينترفيس نسخه دوم Yahoo Mail كه به نسخه بتا معروف است و فعلا در دسترس كاربران سرويس غير رايگان ياهو قراردارد، از همين فناوري استفاده مي*كند كه به زودي اينترفيس جديد در دسترس عموم قرار مي*گيرد. سرويس Gmail و Google Map نيز از اين فناوري استفاده مي*كنند
ThinkCAP JX - يک محيط (برنامه نويسي سريع) براي و که از مدل سه لايه*ي
براي کاستن از ميزان کدنويسي جاوا اسکريپت استفاده مي*کند
Echo2 - يک کتابخانه اي*جکسي رايگان براي جاوا
AjaxAnywhere - يک پروژه اپن سورس براي ارتقاء نرم*افزارهاي کنوني تحت وب که با نوشته شده باشند
AjaxTags - يک سري]هاي رايگان که کار با اي*جکس در اين پلاتفرم را آسان مي*کند
Guise - يک فريم ورک برنامه نويسي که تکنيک را بدون نياز به نوشتن جاوا اسکريپت در امکان پذير مي*کند
DWR - يک کتابخانه مجاني براي جاوا
jWic - يک فريم ورک اپن سورس که از براي هماهنگ کردن سمت کلاينت و سمت سرور استفاده مي*کند
ICEfaces - يک فريم ورک براي نوشتن برنامه*هاي اي*جکسي

sofia79
01-07-2007, 09:47
مقاله خوبی بود و دید آدم باز می کرد.
اگه ممکنه راجع به نصب و استفاده از Ajax در asp.net هم صحبت کنید.