شما وارد حساب خود نشده و یا ثبت نام نکرده اید. لطفا وارد شوید یا ثبت نام کنید تا بتوانید از تمامی امکانات انجمن استفاده کنید.


تبليغات
سامانه ي پيامکي آز پي ان يو مقالات ISI
فروشگاه اينترنتي آز پي ان يو خريد شارژ آز پي ان يو

Ajax زمان کنونی: ۲۱-۹-۱۳۹۵، ۰۱:۵۲ :صبح
کاربرانِ درحال بازدید از این موضوع: 1 مهمان
نویسنده: The DaRk PrOpheT
آخرین ارسال: The DaRk PrOpheT
پاسخ: 2
بازدید: 614

ارسال پاسخ 
 
امتیاز موضوع:
  • 16 رأی - میانگین امتیازات: 3.63
  • 1
  • 2
  • 3
  • 4
  • 5

Ajax

۸-۲-۱۳۹۱, ۰۶:۵۴ :عصر
ارسال: #1
Ajax
Ajax : تحولی بزرگ در عرصه وب ( بخش اول )
اينترنت
و مهمترين سرويس آن وب علاوه بر اين كه حيات بشری را در هزاره سوم دستخوش
تحولات فراوانی كرده است ، توانسته است منشاء تحولات گسترده ای در ساير
حوزه های فناوری گردد . در واقع ، تحول در زندگی بشريت مديون پيشرفت در
ساير حوزه های فناوری‌ است . يكی از اين حوزه ها ، صنعت نرم افزار است .

برای آشنائی با اين تحول بد نيست مروری سريع داشته باشيم به گذشته وب و نرم
افزار تا از اين رهگذر بتوانيم ضرورت ايجاد فناورهای جديدی نظير Ajax (
برگرفته شده از Asynchronous JavaScript And XML ) را بهتر درك كنيم .

مروری بر وب ، نرم افزار و تاثير متقابل آنها بر يكديگر
موجودات
جديدی كه ما امروزه آنها را با نام برنامه های وب می شناسيم ، ماحصل تاثير
وب بر نرم افزار و رشد رو به فزاينده استفاده از اينترنت در متن زندگی ،
ماحصل تاثير نرم افزار بر وب است . اجازه دهيد ببينيم موضوع از كجا و با چه
مختصاتی شروع گرديد و هم اينك در چه وضعيتی به سر می بريم .

وب ايستا :
زمانی كه تيم . برنرز لی در سال 1990 اولين پيشنهاد خود در رابطه با وب را
ارائه كرد ، ايده كار بسيار ساده بود : ايجاد يك شبكه از اطلاعات متصل
شده به يكديگر با استفاده از ابرمتن ها و URIs ( برگرفته شده از Uniform
Resource Identifiers ) . وب در آغاز به عنوان يك رسانه اشتراك اطلاعات
مطرح گرديد تا از طريق آن دانشمندان و محققين بتوانند دانش و اطلاعات را
بين خود به اشتراك گذاشته و نتايج تحقيقات را با يكديگر مبادله نمايند .
ارائه دهند گان با استفاده از يك استاندارد مستند سازی ، اطلاعات خود را
تهيه و آنها را به مخاطبان خود ارائه می كردند . در آغاز برای استاندارد
مستند سازی از ابزاری كه در آن زمان خود هنوز استاندارد نشده بود استفاده
می گرديد . HTML ، ابزاری است كه با بكارگيری مجموعه ای از تگ ها ،
استاندارد لازم جهت نمايش يك مستند در نرم افزارهای نمايش دهنده ( مرورگرها
) را فراهم می نمايد . نرم افزارهای نمايش دهنده ، مجهز به مفسرهائی جهت
تفسير تگ ها و نمايش اطلاعات موجود در مستند بر اساس تعاريف از قبل تعريف
شده شدند . در آن زمان كه به سال های ابتدائی دهه 90 ميلادی برمی گردد ،
چيزی با نام برنامه های وب وجود نداشت و وب به عنوان رسانه ای جهت اشتراك و
مبادله اطلاعات مطرح بود . تمامی تعاملات در عرصه وب محدود به درخواست يك
مستند توسط سرويس گيرنده و ارسال آن توسط سرويس دهنده بود .

وب پويا با تمركز بر روی پردازش های سمت سرويس گيرنده
: در ادامه ، نياز به انجام برخی پردازش های اوليه مطرح گرديد . با توجه
به اين كه اينترنت از يك بستر سرويس گيرنده و سرويس دهنده ( client server
based) به منظور دريافت درخواست كاربر و پاسخ به آن استفاده می كرد ،
طراحان و پياده كنندگان برای تحقق پردازش ها بر روی دو گزينه متمركز شدند :
انجام پردازش ها در سمت سرويس گيرنده و يا سمت سرويس دهنده . در آغاز ،
برای انجام پردازش ها بر روی سرويس گيرنده متمركز شدند . با اين هدف كه
بتوان پردازش های مورد نياز را ( با حوزه ای كه در آن زمان تعريف شده بود )
، در سمت سرويس گيرنده انجام داد . برای تحقق خواسته فوق لازم بود كه بستر
و ابزارهای لازم در بطن مرورگر ها ايجاد گردد . ظهور فناورهائی نظير
Html-DOM ، جاوااسكريپت ، CSS ( برگرفته شده از cascading style sheets )
و DHTML ( برگرفته شده از Dynamic HTML ) از جمله مهمترين تلاش های
انجام گرفته در آن زمان برای تحقق پردازش ها در سمت سرويس گيرنده بود .
برای آشنائی بيشتر با تلاش های انجام گرفته در آن زمان بد نيست مروری سريع
داشته باشيم به آنچه طی ساليان گذشته در عرصه وب اتفاق افتاده است .
  • <LI dir=rtl> عرضه جاوا اسكريپت
    : Netscape Navigator اولين مرورگر وبی بود كه پس از طراحی و پياده سازی
    موفقيت آميز توانست به عنوان كاتاليزوری در رشد وب و عرضه فناوری های مرتبط
    با آن نقش بسيار مثبتی را ايفاء‌ كند . اغلب سازمان ها و شركت ها از
    مرورگر فوق به عنوان معيار استاندارد خود برای پياده سازی فناوری های جديد
    استفاده می كردند . يكی از اين فناوری ها ، جاوا اسكريپت بود .

    جاو ااسكريپت توسط Brendan Eich از نت اسكيپ ايجاد و نسخه شماره دو آن در
    سال 1995 عرضه گرديد . برای اولين مرتبه ، پياده كنندگان قادر به ايجاد
    صفحات وبی شدند كه می توانست با كاربر تعامل برخورد نمايد . استفاده از
    جاوا اسكريپت برای معتبر سازی داده در سمت سرويس گيرنده و حذف برخی مبادلات
    غيره ضروری بين سرويس گيرنده و سرويس دهنده از جمله مهمترين دستاورد
    بكارگيری جاوا اسكريپت در آن زمان بود . بدين ترتيب نطفه پردازش های ساده
    در سمت سرويس گيرنده به كمك جاوا اسكريپت بسته شد . قابليت فوق در زمانی كه
    اكثر كاربران اينترنت از طريق يك مودم با سرعت 8 . 28 ( Kbps ) به شبكه
    وصل می شدند ، باعث می شد كه تعداد دفعاتی كه كاربران مجبور به انتظار برای
    دريافت يك پاسخ از سرويس دهنده باشند ، كاهش يابد . تحول فوق اولين مرحله
    جدی به سمت رويكرد Ajax در آن زمان بود .


    <LI dir=rtl> ايجاد فريم :
    در نسخه اوليه HTML با هر سند به عنوان يك موجوديت رفتار می شد تا اين
    كه در نسخه شماره چهار فريم ها معرفی گرديدند . با استفاده از فريم ها
    نمايش يك صفحه وب می توانست مشتمل بر بكارگيری مجموعه ای از ساير صفحات وب
    باشد . ايده فوق يك اصلاح ساختاری اساسی در خصوص نحوه نمايش يك صفحه وب بود
    . Netscape Navigator 2.0 اولين مرورگری بود كه از فريم ها و جاوا
    اسكريپت حمايت كرد . اين يك مرحله جدی به سمت رشد و توسعه Ajax در آن زمان
    بود .

    با توجه به اين كه يك فريم ، يك درخواست مجزاء را برای سرويس دهنده ايجاد
    می كرد ، قابليت كنترل يك فريم و محتويات آن با استفاده از جاوا اسكريپت
    دنيای جديدی را پيش روی طراحان و پياده كنندگان صفحات وب قرار داد .


    <LI dir=rtl>روش فريم مخفی
    : به موازات اين كه پياده كنندگان درگير نحوه استفاده از فريم ها شدند ،
    يك روش جديد با هدف تسهيل در امر ارتباط بين سرويس گيرنده و سرويس دهنده
    مطرح گرديد . روش فريم مخفی شامل تنظيم يك frameset با طول و يا عرض صفر
    پيكسل است كه هدف اساسی آن انجام فرآيند مقداردهی اوليه با سرويس دهنده بود
    . فريم مخفی شامل يك فرم HTML با فيلدهای خاصی است كه می توانست بطور
    اتوماتيك توسط جاوا اسكريپت تكميل و برای سرويس دهنده ارسال گردد . زمانی
    كه فريم از سرويس دهنده مراجعت می كرد ، يك تايع ديگر جاوا اسكريپت
    فراخوانده می شد تا اعلام نمايد كه داده از سمت سرويس دهنده برگردانده شده
    است . روش فريم مخفی ، اولين مدل درخواست و پاسخ غيرهمزمان را برای برنامه
    های وب به ارمغان آورد ( اولين رويكرد به مدل ارتباطی Ajax ) .


    <LI dir=rtl>Dynamic HTML و DOM : تا
    سال 1996 ، وب يك دنيای ايستا را تجربه می كرد و برای تعامل محدود با
    كاربر از جاوا اسكريپت و روش فريم های مخفی استفاده می گرديد . همچنان
    امكان تغيير در محتويات يك صفحه بدون نياز به load مجدد آن از سرويس دهنده
    وجود نداشت . در ادامه IE 4.0 ( برگرفته شده از Internet Explorer )
    توسط شركت مايكروسافت ارائه گرديد . در اين نسخه علاوه بر بكارگيری اكثر
    فناوری های استفاده شده در Netscape Navigator ، يك ويژگی مهم ديگر با نام
    DHTML ( برگرفته شده از Dynamic HTML ) نيز ارائه گرديد . DHTML به پياده
    كنندگان اجازه می داد تا بتوانند هر بخشی از يك صفحه مستقر شده در حافظه
    سرويس گيرنده را با استفاده از جاوا اسكريپت تغيير دهند . DHTML به همراه
    عرضه غيره منتظره CSS ( برگرفته شده از cascading style sheets ) به وب و
    نحوه پياده سازی صفحات وب يك نيروی تازه داد. پياده كنندگان توانستند با
    تركيب DHTML و روش فريم های مخفی هر بخشی از يك صفحه را با استفاده از
    اطلاعات دريافت شده از سرويس دهنده refresh نمايند . ويژگی فوق در زمان خود
    توانست يك تحول بزرگ در عرصه وب را ايجاد نمايد .

    در ادامه ، DOM ( برگرفته شده از Document Object Model ) ارائه گرديد .
    برخلاف DHTML كه صرفا" امكان تغيير بخش هائی خاص از يك صفحه وب را فراهم
    می كرد ، DOM دارای يك هدف بلندپروازانه ديگر بود . هدف DOM ارائه يك
    ساختار برای تمامی صفحه بود . انجام عمليات و يا پردازش بر اساس ساختار فوق
    ، امكان تغيير يك صفحه را فراهم می آورد . اين مرحله بعدی به سمت Ajax بود
    .


    <LI dir=rtl>Iframes : با
    اين كه روش فريم مخفی بطور غيرقابل پيش بينی متداول گرديد ، ولی دارای
    چالش های مختص به خود بود . افرادی می بايست زمان زيادی را صرف نوشتن يك
    frameset می كردند تا شرايط استفاده از فريم های مخفی فراهم گردد . زمانی
    كه عنصر </ iframe > در سال 1997 و به عنوان بخشی از نسخه رسمی
    HTML 4.0 ارائه گرديد ، يك قدم اساسی ديگر به سمت انقلاب بر روی وب حركت شد
    .

    در مقابل تعريف frameset ، پياده كنندگان قادر به استفاده از فريم ها در هر
    مكانی از صفحه شدند . بدين ترتيب پياده كنندگان توانستند از iframe
    نامرئی ( با بكارگيری قابليت های CSS ) در يك صفحه استفاده نمايند و شرايط
    عملياتی لازم جهت مبادله داده بين سرويس گيرنده و سرويس دهنده را فراهم
    نمايند . زمانی كه نسخه نهائی DOM در IE 5.0 و Netscape 6.0 پياده سازی
    گرديد ، قابليت ايجاد فريم ها به صورت پويا نيز فراهم گرديد . در چنين
    حالتی از يك تابع جاوا اسكريپت به منظور ايجاد يك iframe ، ايجاد يك
    درخواست و دريافت پاسخ ( جملگی بدون نياز به اضافه كردن تگ های HTML اضافه
    در يك صفحه ) استفاده می گرديد . اين روش معروف به روش iframe مخفی گرديد .
  • XMLHttp : پياده
    كنندگان مرورگر شركت مايكروسافت پس از مشاهده عموميت استفاده از روش هائی‌
    نظير فريم مخفی و iframe مخفی ، تصميم گرفتند يك ابزار بهتر جهت تعامل بين
    سرويس دهنده و سرويس گيرنده را ارائه نمايند . اين ابزار به شكل يك
    اكتيوايكس و با نام XMLHttp در سال 2001 ارائه گرديد .

    زمانی كه مايكروسافت حمايت خود از XML را از طريق يك كتابخانه با نام MSXML آغاز كرد ، شی XMLHttp نيز به همراه آن ارائه گرديد .

    با اين كه شی‌ فوق به همراه خود نام XML را يدك می كشيد ولی چيزی بمراتب
    بيشتر از روشی برای انجام عمليات بر روی داده XML بود . شی فوق همانند يك
    درخواست HTTP بود كه می توانست توسط جاوا اسكريپت كنترل گردد . پياده
    كنندگان دارای قدرت دستيابی به كدهای وضعيت HTTP و هدر همانند داده
    برگردانده شده از طريق سرويس دهنده بودند . داده می توانست به صورت XML
    ساختيافته ، اشياء سريال شده جاوا اسكريپت و يا ساير فرمت های مورد نظر
    پياده كننده باشد . در مقابل استفاده از فريم های مخفی و يا iframe ، اين
    امر ميسر گرديد كه به سرويس دهنده از طريق كد و توسط جاوا اسكريپت دستيابی
    داشت ( مستقل از چرخه load و reload صفحه ) . شی XMLHttp پس از مدتی به
    عنوان يك موفقيت بزرگ برای پياده كنندگان مرورگر IE عرض اندام كرد .

    به موازات متداول شدن شی فوق ، پياده كنندگان در Mozilla نسخه اختصاصی از
    XMLHttp را پياده سازی كردند . در مقابل اجازه دستيابی از طريق اكتيو ايكس ،
    پياده كنندگان موزيلا متدها و خصلت ها را در يك شی ذاتی مرورگر و با نام
    objectXMLHttpRequest ارائه كردند . پس از اين كه دو مرورگر اصلی در بازار
    هر يك توانستند به نوعی از XMLHttp حمايت نمايند ، مرورگرهائی ديگر نظير
    Opera و Safari نيز هر يك به نوعی حمايت خود از شی فوق را اعلام كردند .

بدين
ترتيب پياده كنندگان صفحات وب توانستند ، صفحاتی را خلق نمايند كه با
تعبيه كدهای مورد نياز در آنها ، امكان پردازش در سمت سرويس گيرنده را
فراهم نمايند . انجام پردازش های اوليه نظير تغيير رنگ و شكل ظاهری صفحات ،
مديريت عناصر موجود بر روی يك صفحه و تغيير آنها در زمان اجراء متناسب با
عمليات كاربر ، بررسی صحت داده ورودی توسط كاربر در يك فرم ساده اطلاعاتی ،
دريافت داده در پس زمينه و عدم نياز به ارسال تمامی صفحه و بهنگام سازی
بخش هائی خاص از آن ( با بكارگيری فريم ها ) ، نمونه هائی از تاثير فناوری
هائی بود كه توان پردازش در سمت سرويس گيرنده را در اختيار پياده كنندگان
قرار می داد .

وب پويا با تمركز بر روی پردازش های سمت سرويس دهنده

همزمان با گسترش اينترنت و وب ، ايجاد صفحات وب با محتويات پويا با اتكاء
به منابع داده موجود در سمت سرويس دهنده و ساير شرايط تاثير گذار در
فرآيند پاسخ به درخواست كاربران مطرح گرديد . همين موضوع باعث شد كه توجه
به سرويس دهنده برای انجام برخی پردازش ها نيز در دستور كار قرار بگيرد .
ظهور فناورهائی نظير ASP ( برگرفته شده از Active Server Page ) و PHP (
برگرفته شده از Hypertext Preprocessor ) از اوايل سال 1996 پاسخی به اين
نياز بود . از آن زمان به بعد بود كه كم كم واژه برنامه های وب قدم در
عرصه نرم افزار گذاشت . اگر به تعاريف آن زمان برگرديم مشاهده می كنيم كه
در ابتدا از اين اصطلاح در خصوص صفحات وب پويا استفاده می گرديد .

نگرش جزيره ای به فناورهای مرتبط با برنامه های وب تا اوايل سال 1999 ادامه
يافت . تا اين كه شركت های متعددی به فكر ارائه يك پلت فرم با در نظر
گرفتن واقعيتی به نام اينترنت افتادند . دات نت ، پلت فرم ارائه شده توسط
شركت مايكروسافت يك نمونه در اين زمينه است كه از صدر تا ذيل آن با در نظر
گرفتن واقعيتی با نام اينترنت طراحی و پياده سازی شده است .

در اين دوران بود كه به برنامه های وب با يك نگاه جامع تر و سيستماتيك تر
نگاه می شد . در طی پنج سال گذشته ، اين نوع برنامه ها توانستند با
بكارگيری مجموعه ای از فناوری ها منشاء تحولات عمده ای در خصوص بردن
اينترنت در متن زندگی (و نه حاشيه ! ) مردم جهان باشند . ايده " نرم افزار
به عنوان سرويس " و يا برنامه نويسی سرويس گراء از نگرش های جديد به مقوله
نرم افزار و دنيای برنامه نويس‍ی در عرصه وب است .

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

حمع بندی !

همزمان با بحث معماری سرويس گيرنده و سرويس دهنده دو واژه fat-client و
thin-client قدم در ادبيات نرم افزار گذاشتند . در معماری فوق ، هدف
استفاده از توان پردازشی سرويس گيرنده و سرويس دهنده برای اجرای يك برنامه
است . استفاده از توان پردازشی هر يك از عناصر اصلی درگير در معماری فوق و
تعريف سهمی خاص برای هر يك ( سرويس گيرنده و سرويس دهنده ) ، از اهداف
اوليه و در عين حال بسيار مهم معماری فوق است .

پياده كنندگان برنامه های كامپيوتری خصوصا" برنامه های وب ، همواره با اين
سوال مواجه بوده و هستند كه در تقسيم سهم پردازش ، چه ميزان سهم را می
بايست به سرويس گيرنده داد ؟ چه پردازش هائی را می توان در سمت سرويس
گيرنده انجام داد ؟ در پاسخ به اين سوال رويكردهای مختلفی مطرح شده است .
fat client و thin client دو نمونه متداول در اين زمينه می باشند .

در fat client ، هدف بكارگيری پتانسيل های مرورگر برای انجام اكثر
پردازش ها در يك برنامه وب است . رويكرد فوق در اواسط دهه 90 ميلادی در
كانون توجه طراحان و پياده كنندگان وب قرار گرفت . علت اين امر به تلاش
شركت های بزرگ نرم افزاری در جهت توليد و ارائه فناورهائی بود كه توانمندی
مرورگر در انجام پردازش را افزايش می داد . ظهور فناورهائی نظير جاوا
اسكريپت ، ايجاد يك اينترفيس برنامه نويسی در مرورگر ،‌ايجاد يك مدل شی
گراء ( ولو ناقص ) برای يك سند HTML با هدف امكان دستيابی به هر يك از
عناصر موجود در آن ، عرضه DHTML و CSS جملگی نشاندهنده تلاش هائی است كه در
آن زمان با هدف افزايش توان پردازش در سمت سرويس گيرنده مطرح شد .

پس از گذشت مدت زمان كوتاهی ( از ابتدای سال 1996 ) ، تمايل به سمت برنامه
های وب با ويژگی thin client مطرح گرديد . در مدل فوق ، هدف كاهش سهم
پردازش در سمت سرويس گيرنده و افزايش پردازش های سمت سرويس دهنده بود .
ظهور فناورهای متعددی نظير ASP و PHP تنها نمونه ای اندك از تلاش های
انجام يافته در آن دوران برای افزايش توان پردازش در سمت سرويس دهنده است .


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

هم اينك ما شاهد يك تحول بزرگ ديگر در عرصه برنامه نويسی هستيم . تحولی كه
مهمترين دستاورد آن ، تولد نسل جديدی از برنامه های وب است كه در آنها
كاربر با برنامه دارای تعامل بمراتب بيشتری نسبت به نسل گذشته برنامه های
وب است . اين تحول عظيم نرم افزاری به كمك مجموعه ای از فن آوری ها كه در
مجموع به آنها Ajax گفته می شود ، محقق می گردد .

آيا Ajax قصد دارد با تغيير در الگوی رفتاری برنامه های وب فاصله آنها را
با برنامه های desktop كاهش دهد ؟ آيا زمان آن رسيده است كه برای پردازش
های سمت سرويس گيرنده از يك پلت فرم جامع ، همانند پلت فرم های ارائه شده
سمت سرويس دهنده ، استفاده گردد ؟ آيا تاكنون از اين فناوری به منظور ايجاد
برنامه های وب استفاده شده است ؟ با استفاده از چه مكانيزم هائی می توان
مبادله اطلاعات بين سرويس گيرنده و سرويس دهنده را كاهش و از پهنای باند
موجود استفاده بهينه كرد ؟

اجازه دهيد به اين سوال و سوالات بسيار ديگر در رابطه با Ajax ، فناورهای
مرتبط با آن و از همه مهمتر كاربرد آن در بخش های بعدی پاسخ دهيم .
بودن آدم عین هو امضاشه...
-متین فروزنده:؟؟
-حاضر...
همین که خودمم نه یکی دیگه،یعنی:
امضا،متین فروزنده...
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس شده توسط MostafA
۸-۲-۱۳۹۱, ۰۶:۵۷ :عصر
ارسال: #2
RE: Ajax
در دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

ضمن بررسی تاثير متقابل وب بر نرم افزار ، مروری داشتيم به وب ايستا و وب
پويا و اين كه برای انجام پردازش های مورد نياز در برنامه های وب می توان
از امكانات و فناوری های متعددی در سمت سرويس گيرنده و سرويس دهنده استفاده
كرد . هدف از بيان مطالب فوق ، پاسخ به اين سوال بود كه چرا به وجود يك
فناوری ديگر نظير Ajax نياز است ( گرچه Ajax يك فناوری نيست و مجموعه ای
از فناوری ها را شامل می شود ) .

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

در اين بخش به بررسی موارد زير خواهيم پرداخت :
  • <LI dir=rtl>تولد Ajax و ريشه يابی علت انتخاب اين نام <LI dir=rtl>Ajax و فناوری های مرتبط با آن <LI dir=rtl>اصول حاكم بر فناوری Ajax .
  • نحوه كاركرد Ajax در برنامه های وب

تولد Ajax
در فوريه سال 2005 ، Jesse James Garrett از Adaptive Path مقاله ای را با عنوان " دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

" بر روی وب سايت خود منشتر كرد . وی در اين مقاله ضمن اشاره به اين
موضوع كه فاصله بين برنامه های وب و desktop در حال از بين رفتن است ، به
بررسی دو نمونه از برنامه های وب جديد با نام Google Suggest و Google Maps
پرداخته بود . Garrett پس از تشريح نحوه عملكرد برنامه های فوق ، برای
اولين مرتبه از واژه Ajax در مقاله خود استفاده كرد .

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

Ajax چيست ؟
  • <LI dir=rtl>Ajax برگرفته شده از Asynchronous JavaScript XML است و مشتمل بر مجموعه ای از فناوری ها است ، نه صرفا" يك فناوری .
  • Ajax
    ، اساس و پايه چيزی است كه امروزه از آن با نام وب 2 نام برده می شود (
    نسل جديد وب ) . ايده اصلی ، ايجاد برنامه های وبی است كه دارای شكل ظاهری
    و توانمندی هائی مشابه با برنامه های desktop باشند .


    <LI dir=rtl>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
  • <LI dir=rtl>غيرهمزمان و يا asynchronous
    بدين معنی است كه مرورگر لازم نيست منتظر بماند تا داده از سرويس دهنده
    برگردانده شود و می تواند به محض دريافت داده آن را پردازش نمايد . به
    عبارت ديگر ، انتقال داده در پس زمينه انجام شده و مرورگر مجبور به توقف و
    انتظار برای تحقق اتفاقی نخواهد بود .

    رويكرد فوق نشاندهنده يكی از ويژگی های مهم و حياتی Ajax است . در چنين
    مواردی‌، می توان داده را پس از ارسال توسط سرويس دهنده ، پردازش كرد .
    لازم نيست تمامی برنامه را معطل رسيدن داده از سمت سرويس دهنده كرد .

    در صورتی كه لازم است پردازش های سمت سرويس گيرنده منتظر دريافت داده
    بمانند ، مكانيرم دريافت و پردازش داده می بايست بطور همزمان انجام شود .
    در صورتی كه يك ارتباط ضعيف بين سرويس گيرنده و سرويس دهنده برقرار شده
    باشد اين موضوع می تواند عملكرد و موفقيت يك برنامه وب را با مشكل مواجه
    نمايد .


    <LI dir=rtl>بخش جاوا اسكريپت واژه Ajax نيز
    بسيار مهم است چراكه بالفعل شدن پتانسيل های Ajax در مرورگر توسط آن محقق
    می گردد . Ajax به كمك جاوا اسكريپت با سرويس دهنده ارتباط خود را برقرار
    می نمايد و در ادامه نيز داده برگردانده شده از سرويس دهنده را پردازش می
    نمايد .


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

    xml ، صرفا" يكی از روش های برگرداندن داده است و در صورت لزوم می توان از فرمت هائی ديگر نظير متن معمولی نيز استفاده كرد .


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

    اقتدار Ajax نه تنها وابسته به جاوا اسكريپت بلكه مديون شی XMLHttpRequest است .

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

زمانی می توان اين ادعا را داشت كه يك برنامه وب مبتنی بر Ajax در اهداف خود موفق بوده است كه در آن اصول زير رعايت شده باشد .
  • <LI dir=rtl>به حداقل رساندن ترافيك
    : برنامه های 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 نشان داده شده است .

مهمان ها نمي توانند تصاوير را ببينند و دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.




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

منبع : Adaptive Path
خلاصه
فناوری
های مرتبط با Ajax در طی ساليان گذشته مطرح و از آنها در مجموعه ای از
نرم افزارها استفاده می گرديد . Jesse James Garrett در مقاله خود تمامی
فناوری های اشاره شده را در زير يك سقف و با نام Ajax كنار هم قرار داد .
با بكارگيری فناوری Ajax در نرم افزارهای برجسته ای نظير Google Suggest در
سال 2005 ، Ajax در كانون توجه جهانی قرار گرفت . وب 2 ، برای نيل به
اهداف خود به Ajax دل بسته است و Ajax می تواند تصويری جديد از برنامه های
وب را در عرصه اينترنت به نمايش بگذارد .

وجود برخی خصايص خاص در بخش رابط كاربر برنامه های desktop و نحوه تعامل
كاربران با اينگونه برنامه ها ، حلقه گمشده ای در برنامه های وب است. حلقه
ای كه Ajax سعی دارد خلاء آن را پر كند . قطعا" در آينده ای نه چندان دور
شاهد حضور بيشتر برنامه های وبی خواهيم بود كه دارای شكل ظاهری و عملكردی
مشابه (خصوصا" تعامل با كاربر ) با برنامه های desktop می باشند .

شايد روزی فرا رسد كه يكی از واژه های برنامه های desktop و برنامه های وب
به نفع ديگری كنار برود و يا هر دو بر يك نام مشترك ديگر به توافق برسند .

در بخش سوم به بررسی نمونه برنامه هائی خواهيم پرداخت كه در آنها از فناوری Ajax استفاده می گردد
بودن آدم عین هو امضاشه...
-متین فروزنده:؟؟
-حاضر...
همین که خودمم نه یکی دیگه،یعنی:
امضا،متین فروزنده...
مشاهده‌ی وب‌سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Rainbow Ajax چيست؟ mmmonire 0 302 ۳-۶-۱۳۹۲ ۰۸:۵۴ :صبح
آخرین ارسال: mmmonire
  سيستم چت آنلاين باphp و ajax Administrator 0 873 ۸-۳-۱۳۹۱ ۰۹:۱۶ :صبح
آخرین ارسال: Administrator
  آموزش Ajax The DaRk PrOpheT 0 532 ۸-۲-۱۳۹۱ ۰۶:۴۷ :عصر
آخرین ارسال: The DaRk PrOpheT
  درباره Ajax The DaRk PrOpheT 1 528 ۸-۲-۱۳۹۱ ۰۶:۲۱ :عصر
آخرین ارسال: The DaRk PrOpheT

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان


آپلودسنتر آز پي ان يو تالار گفتمان آز پي ان يو
تبلیغات نیازمندی های استان چهارمحال و بختیاری