TAHA
10-11-2009, 09:46 AM
اِیْجکس یا آژاکس (AJAX؛ سرواژهٔ «Asynchronous JavaScript And XML»)، مجموعهای از استانداردها و فناوریهای وب است که به کمک آنها میتوان برنامههایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند. با استفاده از این فناوریها و با کمک انتقال تکههای کوچک داده و اطلاعات از رایانهٔ خادم (Server)، صفحات وب از حالت منفعل خارج میشوند و واکنشهایی مناسب با رویدادها انجام میدهند.
Ajax معماري جديدي براي برنامههاي تحت وب است، که با سرعت بسيار زيادي در حال گسترش بوده، و کمتر کاربر اينترنت است که هنوز گذرش به يکي از صفحاتي که با اين معماري ساخته شدهاند نيفتاده ، و از قابليتهاي فوقالعاده آن ذوقزده نشده باشد. Gmail، Google Map،Google Suggest ، Orkut، و اسامي آشناي ديگر، نمونه هايي هستند از جادويي به نام AJAX . با استفاده از اين معماري، صفحات وب تعامل بسيار خوبي با کاربران خواهند داشت و بعلاوه، مهمترين مزيت اين معماري اين است که ديگر براي انجام هر کاري، لازم نيست صفحه وب دوباره بارگذاري شود
مجموعه فناوریهای تشکیل دهنده آژاکس عبارتاند از
نمایش استاندارد با استفاده از XHTML و CSS،
نمایش پویایی و تعاملات با استفاده از (DOM)،
تبادل و دستکاری داده با استفاده از XML و XSLT،
بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequest،
نهایتاً JavaScript برای سرهمبندی همه چیز با هم.
آژاکس چیست
آژاکس يک تکنولوژي نيست؛ بلکه مجموعهايست از تکنولوژيهايي که هر يک در جاي خود تکنولوژي کامل و موفقي هستند، و اکنون به شکل جديدي در کنار هم قرار گرفته و Ajax را تشکيل دادهاند [2]. تکنولوژيهايي که در Ajax از آنها استفاده ميشود عبارتند از:نمايش استاندارد با استفاده از XHTML و CSS.
نمايش پويايي و تعاملات با استفاده از Document Object Model (DOM).
تبادل و دستکاري داده با استفاده از XML و XSLT.
بازيابي دادهها بصورت غير همروند با استفاده از XMLHttpRequest.و JavaScript براي سرهمبندي همه چيز با هم.
در واقع Ajax ترکيبي از تکنولوژيهاي فوق است و هيچ چيز جديدي ارائه نميدهد. همه شگفتي Ajax در معماريايست که براي ساخت يک برنامه وب، با استفاده از اين تکنولوژيها ارائه ميدهد.
مشکلات Ajax
اگرچه اين روش مزاياي بسياري دارد و شکاف بين برنامههاي روميزي و برنامههاي وب را بسيار کمتر کرده است، اما مشکلاتي نيز دارد که هنگام کار به اين روش، بايد به آنها توجه کرد. يکي از مشکلاتي که در مورد Ajax عنوان ميشود، اين مسئله است که اين روش کاربرد کليد Back مرورگرها را مختل کرده و اين بر خلاف عادت کابران در محيط وب است . البته براي حل اين مسئله راهحلهايي پيشنهاد شده که اينجا جاي بحث در مورد آنها نيست. مشکل ديگر Ajax مسئله تاخير شبکه ونگراني در مورد زمان پاسخگويي سيستم است. مسئله تاخير شبکه در يک برنامه بر اساس Ajax بايد با دقت در نظر گرفته شود. تاخير در بارگذاري اوليه رابط کاربر برنامه، چيزيست که معمولا براي کاربر قابل درک نيست و بايد با دادن پيغامي مناسب، کاربر را از اينکه سيستم درحال بارگذاري، يا انجام فعاليتي و برقراري ارتباطي با سرور است، آگاه کرد . مسئله ديگري که در مورد سيستمهاي بر اساس Ajax وجود دارد، استفاده Ajax از JavaScrip است و اين مسئله که کاربر ميتواند اجازه اجراي JavaScript در مرورگر خود را ندهد. پس بايد پيش از شروع بارگذاري موتور Ajax از اجازه داشتن اجراي JavaScript روي مرورگر کلاينت اطمينان پيدا کرد. البته در مورد IE نسخه 6، به اين مسئله نيز بايد توجه کرد که شی XMLHttpRequest به صورت ActivX پياده سازي شده و در نتيجه کاربر بايد امکان استفاده از ActivX ها را نيز به مرورگر بدهد . مسئله ديگري که بايد به آن توجه داشت، اين است که کدهاي JavaScript برنامه را هر کسي به راحتي ميتواند ببيند. در نتيجه بهتر است قسمتهايي از برنامه را که مربوط به امنيت، يا منطق پردازشي برنامه ميشود، سمت سرور نگه داريم. به نظر ميرسد ساخت سيستمي که ترکيب متوازني از پردازشهاي سمت سرور و يک موتور Ajax قوي در طرف کلاينت باشد، ميتواند راهحل بسيار مناسبي باشد.
Ajax معماري جديدي براي برنامههاي تحت وب است، که با سرعت بسيار زيادي در حال گسترش بوده، و کمتر کاربر اينترنت است که هنوز گذرش به يکي از صفحاتي که با اين معماري ساخته شدهاند نيفتاده ، و از قابليتهاي فوقالعاده آن ذوقزده نشده باشد. Gmail، Google Map،Google Suggest ، Orkut، و اسامي آشناي ديگر، نمونه هايي هستند از جادويي به نام AJAX . با استفاده از اين معماري، صفحات وب تعامل بسيار خوبي با کاربران خواهند داشت و بعلاوه، مهمترين مزيت اين معماري اين است که ديگر براي انجام هر کاري، لازم نيست صفحه وب دوباره بارگذاري شود
مجموعه فناوریهای تشکیل دهنده آژاکس عبارتاند از
نمایش استاندارد با استفاده از XHTML و CSS،
نمایش پویایی و تعاملات با استفاده از (DOM)،
تبادل و دستکاری داده با استفاده از XML و XSLT،
بازیابی دادهها بصورت غیر همروند با استفاده از XMLHttpRequest،
نهایتاً JavaScript برای سرهمبندی همه چیز با هم.
آژاکس چیست
آژاکس يک تکنولوژي نيست؛ بلکه مجموعهايست از تکنولوژيهايي که هر يک در جاي خود تکنولوژي کامل و موفقي هستند، و اکنون به شکل جديدي در کنار هم قرار گرفته و Ajax را تشکيل دادهاند [2]. تکنولوژيهايي که در Ajax از آنها استفاده ميشود عبارتند از:نمايش استاندارد با استفاده از XHTML و CSS.
نمايش پويايي و تعاملات با استفاده از Document Object Model (DOM).
تبادل و دستکاري داده با استفاده از XML و XSLT.
بازيابي دادهها بصورت غير همروند با استفاده از XMLHttpRequest.و JavaScript براي سرهمبندي همه چيز با هم.
در واقع Ajax ترکيبي از تکنولوژيهاي فوق است و هيچ چيز جديدي ارائه نميدهد. همه شگفتي Ajax در معماريايست که براي ساخت يک برنامه وب، با استفاده از اين تکنولوژيها ارائه ميدهد.
مشکلات Ajax
اگرچه اين روش مزاياي بسياري دارد و شکاف بين برنامههاي روميزي و برنامههاي وب را بسيار کمتر کرده است، اما مشکلاتي نيز دارد که هنگام کار به اين روش، بايد به آنها توجه کرد. يکي از مشکلاتي که در مورد Ajax عنوان ميشود، اين مسئله است که اين روش کاربرد کليد Back مرورگرها را مختل کرده و اين بر خلاف عادت کابران در محيط وب است . البته براي حل اين مسئله راهحلهايي پيشنهاد شده که اينجا جاي بحث در مورد آنها نيست. مشکل ديگر Ajax مسئله تاخير شبکه ونگراني در مورد زمان پاسخگويي سيستم است. مسئله تاخير شبکه در يک برنامه بر اساس Ajax بايد با دقت در نظر گرفته شود. تاخير در بارگذاري اوليه رابط کاربر برنامه، چيزيست که معمولا براي کاربر قابل درک نيست و بايد با دادن پيغامي مناسب، کاربر را از اينکه سيستم درحال بارگذاري، يا انجام فعاليتي و برقراري ارتباطي با سرور است، آگاه کرد . مسئله ديگري که در مورد سيستمهاي بر اساس Ajax وجود دارد، استفاده Ajax از JavaScrip است و اين مسئله که کاربر ميتواند اجازه اجراي JavaScript در مرورگر خود را ندهد. پس بايد پيش از شروع بارگذاري موتور Ajax از اجازه داشتن اجراي JavaScript روي مرورگر کلاينت اطمينان پيدا کرد. البته در مورد IE نسخه 6، به اين مسئله نيز بايد توجه کرد که شی XMLHttpRequest به صورت ActivX پياده سازي شده و در نتيجه کاربر بايد امکان استفاده از ActivX ها را نيز به مرورگر بدهد . مسئله ديگري که بايد به آن توجه داشت، اين است که کدهاي JavaScript برنامه را هر کسي به راحتي ميتواند ببيند. در نتيجه بهتر است قسمتهايي از برنامه را که مربوط به امنيت، يا منطق پردازشي برنامه ميشود، سمت سرور نگه داريم. به نظر ميرسد ساخت سيستمي که ترکيب متوازني از پردازشهاي سمت سرور و يک موتور Ajax قوي در طرف کلاينت باشد، ميتواند راهحل بسيار مناسبي باشد.