جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
Ajax : تحولي بزرگ در عرصه وب ( بخش دوم )
-(0 Body) 
Ajax : تحولي بزرگ در عرصه وب ( بخش دوم )
Visitor 860
Category: کامپيوتر

در بخش اول  ضمن بررسي تاثير متقابل وب بر نرم افزار ، مروري داشتيم به وب ايستا و وب پويا و اين كه براي انجام پردازش هاي مورد نياز در برنامه هاي وب مي توان از امكانات و فناوري هاي متعددي در سمت سرويس گيرنده و سرويس دهنده استفاده كرد . هدف از بيان مطالب فوق ، پاسخ به اين سوال بود كه چرا به وجود يك فناوري ديگر نظير Ajax نياز است ( گرچه  Ajax يك فناوري نيست و مجموعه اي از فناوري ها را شامل مي شود ) .
با اين كه ايده فناورهائي نظير Ajax  در گذشته نيز وجود داشته است و پياده كنندگان برنامه هاي وب در زمان خود با بكارگيري برخي فناوري ها و ترفندها  توانسته بودند مشكل خود را تا حدود زيادي برطرف نمايند ولي گذشت زمان و  گسترش باور نكردني اينترنت ، باعث شد تا استفاده از بستر فوق براي ارائه سرويس هاي online  در دستور كار اكثر سازمان ها و شركت ها در اقصي نقاط جهان قرار بگيريد . همين موضوع باعث شد كه دگر باره جامعه بزرگ طراحان و پياده كنندگان برنامه هاي وب اين نياز را احساس كنند كه به يك راه حل جامع و سيستماتيك براي برخورد با مسائل خود ( خصوصا" تعامل با كاربر ) در دنياي نوين برنامه نويسي وب نياز دارند . دنيائي كه در آن دقت و سرعت در ارائه خدمات online با بكارگيري كمترين منابع و توليد بيشترين بهره وري ، رمز ماندگاري يك سازمان در مدار رقابت و پيشرفت است . همين امر باعث شد كه شركت هاي بزرگ توليد كننده نرم افزار و خدمات online نيز دست به كار شوند و چيزي را خلق كنند كه ما امروزه از آن با نام Ajax ياد مي كنيم .
در اين بخش به بررسي موارد زير خواهيم پرداخت :

  • تولد Ajax و ريشه يابي علت انتخاب اين نام
  • Ajax و فناوري هاي مرتبط با آن
  • اصول حاكم بر فناوري Ajax   .
  • نحوه كاركرد Ajax در برنامه هاي وب 

تولد Ajax
در فوريه سال 2005 ، Jesse James Garrett از  Adaptive Path مقاله اي را  با عنوان " يك رويكرد جديد به برنامه هاي وب "   بر روي وب سايت خود منشتر كرد . وي در اين مقاله ضمن اشاره به اين موضوع كه فاصله بين برنامه هاي وب و desktop در حال از بين رفتن است ،  به بررسي دو نمونه از برنامه هاي وب جديد با نام Google Suggest و Google Maps پرداخته بود . Garrett  پس از تشريح نحوه عملكرد برنامه هاي فوق ، براي اولين مرتبه از  واژه  Ajax  در مقاله خود استفاده كرد .
وي در مقاله خود دنيائي را پيش بيني كرده بود كه در آن برنامه هاي وب از لحاظ قابليت دستيابي ، پاسخ گوئي و سادگي قابل مقايسه با برنامه هاي desktop خواهند شد . 

 Ajax چيست ؟

  • Ajax برگرفته شده از Asynchronous JavaScript  XML است  و مشتمل بر مجموعه اي از  فناوري ها است ، نه صرفا" يك فناوري .

  • Ajax ، اساس و پايه چيزي است كه امروزه از آن با نام وب 2 نام برده مي شود ( نسل جديد وب ) .  ايده اصلي ، ايجاد برنامه هاي وبي است كه داراي شكل ظاهري و توانمندي هائي  مشابه با برنامه هاي desktop باشند .

  • Ajax چي‍زي بيشتر از يك نگرش  جديد به برنامه هاي وب نيست . نگرشي كه در آن صرفا" يك حجم اندك از اطلاعات بين سرويس گيرنده و سرويس دهنده با هدف افزايش تعامل كاربر با برنامه ، مبادله مي گردد .

  •  Ajax ، مشتمل بر مجموعه اي از فن آوري ها است كه هر يك داراي جايگاه مختص به خود مي باشند :

    - فن آوري هاي استاندارد presentation نظير XHTML و CSS
    - بهنگام سازي پوياي يك صفحه مستقر شده در حافظه با استفاده از DOM ( برگرفته شده از Document Object Model )
    - مبادله و پردازش داده با استفاده از XML (فرمت مبادله داده  ) و XSLT ‌(  تبديل  XML به XHTML  )
    - بازيابي داده غيرهمزمان با استفاده از XMLHttpRequest  ( كارگزار اوليه مبادله اطلاعات  )
    و جاوا اسكريپت كه همه چيز را به يكديگر مرتبط مي نمايد و از آن براي برنامه نويسي Ajax engine استفاده مي گردد .

  • در دنياي واقعي ، از تمامي فناوري هاي فوق در Ajax استفاده مي گردد  ولي به وجود HTML/XHTML ، DOM و Javascript  بيش از همه نياز است چون :
    از XHTML براي نمايش اطلاعات استفاده مي گردد .
    از  DOM براي تغيير بخش هائي از يك صفحه XHTML بدون نياز به load مجدد صفحه استفاده مي گردد.
    از جاوا اسكريپت ، براي مقداردهي اوليه ارتباط بين سرويس گيرنده و سرويس دهنده و بهنگام سازي صفحات وب  به كمك  DOM  استفاده مي گردد .

  • يك عنصر اساسي و مهم ديگر كه در مقاله  Garrett به آن اشاره نشده است ، ضرورت انجام پردازش هاي سمت سرويس دهنده است . تمامي فناوري هاي اشاره شده ( در پاراگراف قبل ) ، در ارتباط مستقيم با Ajax engine سمت سرويس گيرنده مي باشند . بدون وجود يك سرويس دهنده مطمئن و پاسخگو به منظور ارسال محتويات براي Ajax engine ، در عمل Ajax فاقد كارآئي لازم خواهد بود . صرفنظر از فناوري استفاده شده در سمت سرويس دهنده ( نظير PHP و يا ASP.NET ) ، مي بايست اين اطمينان حاصل گردد كه داده با فرمت صحيح براي Ajax engine ارسال مي گردد .

  • از شي XMLHttpRequest درون جاوا اسكريپت براي ارتباط با سرويس دهنده استفاده مي گردد تا در ادامه بتوان داده برگردانده شده از سرويس دهنده ( با فرمت Xml و يا متن معمولي ) را پردازش كرد .

  • از DHTML و  CSS براي نمايش نتايج در مرورگر  استفاده مي گردد .

  • هدف از كنارهم قرار گرفتن تمامي فناوري هاي اشاره شده ، اين است كه شكل ظاهري برنامه هاي وب و نحوه پاسخ گوئي آنها به خواسته كاربران مشابه برنامه هاي desktop گردد .

همانگونه كه در نام اين فناوري مشخص است ، Ajax مشتمل بر مجموعه اي از فناوري ها است : Asynchronous JavaScript  XML

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

  • بخش جاوا اسكريپت واژه Ajax نيز بسيار مهم است چراكه بالفعل شدن پتانسيل هاي Ajax در مرورگر توسط آن محقق مي گردد . Ajax به كمك جاوا اسكريپت با سرويس دهنده ارتباط خود را برقرار مي نمايد و در ادامه نيز داده برگردانده شده از سرويس دهنده را پردازش مي نمايد . 

  • بخش xml واژه Ajax داراي چه مسئوليتي است ؟  XML به عنوان يك استاندارد جهاني در عرصه وب مطرح است و به كمك آن مي توان از يك روش مبتني بر متن براي مبادله داده در عرصه اينترنت استفاده كرد . يكي از دلايل مهم گسترش xml ، ماهيت مبتني بر متن آن است . با توجه به اين كه طراحي اينترنت بگونه اي انجام شده بود تا بتواند مستندات مبتني بر متن نظير اسناد HTML را نمايش دهد ، وجود xml به منزله قلابي است كه مي توان آن را دور اينترنت انداخت و به صيد داده پرداخت. داده ئي كه به همراه ساختار خود مي تواند امكان پردازش را در ساير سيستم ها فراهم نمايد . به همين دليل است كه برنامه هاي Ajax بگونه اي نوشته مي گردند تا بتوانند بر روي داده برگردانده شده از سرويس دهنده با فرمت xml ، عمليات مورد نظر را انجام دهند . به عبارت ديگر ، پس از برقراري ارتباط با سرويس دهنده ، داده با فرمت xml برگردانده خواهد شد . 
    xml ، صرفا" يكي از روش هاي برگرداندن داده است و در صورت لزوم مي توان از فرمت هائي ديگر نظير متن معمولي نيز استفاده كرد . 

  • در كنار جاوا اسكريپت و XML ، فناوري Ajax با فناوري هاي ديگري نظير DHTML  و CSS نيز كار مي كند . به كمك فناورهاي فوق مي توان داده موجود در يك صفحه وب را بدون نياز به load تمامي صفحه بهنگام كرد ( صرفا" load بخشي كه ضرورت آن احساس مي شود )  . پتانسيل فوق يكي از اهداف و ويژگي هاي مهم برنامه هاي وب مبتني بر فناوري Ajax محسوب مي گردد .

  • بخشي از جاوا اسكريپت كه امكان Ajax را ميسر مي سازد ، شي XMLHttpRequest است . شي فوق تقريبا" در تمامي مرورگرهاي مدرن و پيشرفته از قبل تعبيه شده است . به كمك اين شي امكان اتصال به سرويس دهنده و مديريت داده برگردانده شده از آن در پس زمينه فراهم مي گردد .
    اقتدار Ajax نه تنها وابسته به جاوا اسكريپت بلكه مديون شي XMLHttpRequest است . 

اصول Ajax
Ajax هنوز در ابتداي راه است و بسياري از پياده كنندگان با اين پرسش مواجه هستند كه از اين فناوري در چه زماني و در چه نوع برنامه هائي مي توان استفاده كرد . عدم شناخت مناسب از اين فناوري باعث مي شود تا از آن در برنامه هائي استفاده گردد كه نه تنها قابليت و يا ويژگي جديدي را به برنامه اضافه نمي نمايد بلكه در بسياري از موارد عدم موفقيت يك برنامه و نارضايتي كاربران آن را به دنبال خواهد داشت . 
زماني مي توان اين ادعا را داشت كه يك برنامه وب مبتني بر Ajax  در اهداف خود موفق بوده است كه در آن اصول زير رعايت شده باشد .

  • به حداقل رساندن ترافيك : برنامه هاي Ajax مي بايست حتي المقدور حجم اندكي از اطلاعات را براي سرويس دهنده ارسال و يا از آن دريافت نمايند . به عبارت ديگر ، با بكارگيري Ajax  مي بايست حجم ترافيك بين سرويس گيرنده و سرويس دهنده كاهش يابد .   

  •  عدم سردرگمي كاربر : برنامه هاي وب مبتني بر فناوري Ajax مدل تعامل با كاربر مختلفي را نسبت به برنامه هاي وب سنتي معرفي كرده اند . در مقابل وب استاندارد ( كليك كن و منتظر باش ) ، برخي برنامه هاي Ajax از يك رويكرد ديگر براي پياده سازي بخش رابط  كاربر خود نظير drag-and-drop و يا double-clicking  استفاده مي نمايند . صرفنظر از نوع مدل انتخاب شده براي پياه سازي تعامل با كاربر ، مهم ارائه امكانات بخش رابط كاربر بگونه اي است كه همواره كاربر در سريع ترين زمان بتواند در خصوص انجام حركت بعدي خود تصميم گيري نمايد .

  • استفاده منطقي از تجارب مثبت گذشته  : وقت خود را بي خودي به ابداع مدل هاي تعامل با كاربر جديد كه كاربران شما با آنها آشنا نيستند ، هدر ندهيد . استفاده از تجارب برنامه هاي  وب سنتي و desktop مي تواند پياده كنندگان را در طراحي يك مدل مناسب جهت تعامل با كاربر كمك نمايد .

  • اجتناب از بكارگيري عناصر غيرضروري  : از بكارگيري عناصر غير ضروري نظير تكرار انيميشن و بخش هائي نظير blinking page  اجتناب كنيد. بكارگيري اين چنين عناصري باعث مي شود تا كاربران در زمان انجام فعاليت هاي مورد نظر دچار سردرگمي شوند . 

  • قابليت دسترسي و رضايت كاربران : برنامه هاي Ajax را با در نظر گرفتن رفتار و نوع خواسته كاربران طراحي و پياده سازي نمائيد . براي طراحي و پياده سازي خود را در يك مكان بسته محبوس ننمائيد. در غير اينصورت همواره اين احتمال وجود خواهد داشت كه خواسته برخي از كاربران ناديده گرفته شود . قابليت دسترسي و رضايت كاربران يكي از نكات بسيار مهم در موفقيت يك برنامه كامپيوتري محسوب مي گردد .

  • پيشگيري از دانلود تمامي صفحه : تمامي ارتباط با سرويس دهنده پس از مقدار دهي اوليه دانلود صفحه ، مي بايست توسط Ajax engine مديريت گردد . عدم مديريت صحيح بر روي فرآيند فوق مي تواند بخش رابط كاربر يك برنامه وب را با مشكل اساسي مواجه سازد ( نظير دانلود حجم اندكي از داده در يك مكان و دانلود تمامي صفحه در بخش ديگر ) 

  • توجه  به نياز كاربران قبل از هر چيز : برنامه هاي Ajax  را قبل از هر چيز  با كاربران خيالي در ذهن طراحي نمائيد . سهولت در انجام عمليات متداول مي بايست در دستور كار قرار بگيرد . كمتر در انديشه انجام كارهاي تبليغاتي و يا افكت هاي غيرضروري باشيد . 

نقطه مشترك بين تمامي اصول اشاره شده ،  قابليت استفاده از يك برنامه با حداكثر ظرفيت و رضايتمندي كاربران است . هدف اوليه Ajax ، بهبود و ارتقاء بخش رابط كاربر برنامه ها با هدف رضايتمندي بيشتر كاربران است . 

نحوه كار Ajax
در برنامه هاي وب سنتي مرورگر مسئوليت مقداردهي اوليه درخواست ها  و پردازش آنها  جهت ارسال به سرويس دهنده وب را برعهده دارد . در مقابل ،  در  Ajax  يك لايه مياني ( كه Garrett آن را Ajax engine ناميد ) مسئوليت مديريت  ارتباط برقرار شده را برعهده مي گيرد .  Ajax engine در واقع يك شي جاوا اسكريپت و يا تابع است و  زماني كه به اطلاعاتي از سرويس دهنده نياز باشد ،‌  از آن استفاده خواهد شد .
در مقابل برنامه هاي وب سنتي كه يك لينك به يك منبع ديگر ارائه مي گردد ( نظير يك صفحه وب ديگر ) ، در برنامه هاي وب مبتني بر Ajax ، هر لينك باعث فراخواني Ajax engine مي گردد كه وظيفه آن زمانبندي و انجام درخواست بطور غيرهمزمان است  .
سرويس دهنده ( كه از لحاظ سنتي  اسناد HTML ، تصاوير ، CSS و جاوا اسكريپت را ارائه مي نمايد ) ، بگونه اي پيكربندي مي گردد تا داده مورد نياز را در اختيار Ajax Engine قرار دهد. اين داده مي تواند متن معمولي ، XML  و يا ساير فرمت هاي مورد نياز داده باشد. بديهي است در چنين مواردي ، Ajax engine مي بايست قادر به خواندن و تفسير داده باشد .
پس از دريافت پاسخ لازم از سرويس دهنده ، Ajax engine عمليات خود را كه اغلب بررسي داده و ايجاد تغييرات لازم در بخش رابط كاربر است ،  آغاز مي نمايد .  با توجه به اين كه در فرآيند فوق به اطلاعات كمتري نسبت به برنامه هاي وب سنتي نياز است ، بخش رابط كاربر با سرعت بيشتري بهنگام مي گردد و كاربر قادر به انجام كارهاي خود با سرعت بيشتري است .
در شكل  1 ، عملكرد برنامه هاي وب سنتي نسبت به برنامه هاي وب مبتني بر Ajax نشان داده شده است . 

عملكرد برنامه هاي وب سنتي نسبت به برنامه هاي وب مبتني بر Ajax

شكل 1 : عملكرد برنامه هاي وب سنتي نسبت به برنامه هاي وب مبتني بر Ajax
منبع : Adaptive Path

خلاصه
فناوري هاي مرتبط با Ajax در طي ساليان گذشته  مطرح  و  از آنها در مجموعه اي از نرم افزارها استفاده مي گرديد .  Jesse James Garrett در مقاله خود تمامي فناوري هاي اشاره شده را در زير يك سقف و با نام Ajax  كنار هم قرار داد . با بكارگيري فناوري Ajax در نرم افزارهاي برجسته اي نظير Google Suggest در سال 2005 ، Ajax در كانون توجه جهاني  قرار گرفت . وب 2 ، براي نيل به اهداف خود به Ajax دل بسته است و Ajax مي تواند تصويري جديد از برنامه هاي وب را در عرصه اينترنت به نمايش بگذارد .
وجود برخي خصايص خاص در بخش رابط كاربر برنامه هاي desktop و نحوه تعامل كاربران با اينگونه برنامه ها ، حلقه گمشده اي در برنامه هاي وب است. حلقه اي كه Ajax سعي دارد خلاء آن را پر كند .  قطعا" در آينده اي نه چندان دور شاهد حضور بيشتر برنامه هاي وبي خواهيم بود كه داراي شكل ظاهري و عملكردي مشابه (خصوصا" تعامل با كاربر )  با برنامه هاي desktop مي باشند .
شايد روزي فرا رسد كه يكي از واژه هاي برنامه هاي desktop و برنامه هاي وب به نفع ديگري كنار برود و يا هر دو بر يك نام مشترك ديگر به توافق برسند .
در بخش سوم به بررسي نمونه برنامه هائي خواهيم پرداخت كه در آنها از فناوري Ajax استفاده مي گردد . 

برگرفته از سايت سخا روش

Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image