.

Ajax چیست ؟

AJAX ؛ سرواژهٔ ( Asynchronous JavaScript And XML )  ، مجموعه‌ای از استانداردها و فناوری‌های وب است که به کمک آنها می‌توان برنامه‌هایی مبتنی بر وب تولید کرد که به آسانی با کاربران تعامل داشته باشند . با استفاده از این فناوری ها و با کمک انتقال تکه‌های کوچک داده و اطلاعات از رایانه ی خادم ( Server ) ، صفحات وب از حالت منفعل خارج می‌شوند و واکنشهایی مناسب با رویدادها انجام می‌دهند . Ajax  معماری جدیدی برای برنامه‌های تحت وب است ، که با سرعت بسیار زیادی در حال گسترش بوده ، و کمتر کاربر اینترنت است که هنوز گذرش به یکی از صفحاتی که با این معماری ساخته شده‌اند نیفتاده ، و از قابلیت‌های فوق‌العاده آن بهره‌مند نشده باشد .  gmail ، google map ، google suggest ،  orkut و اسامی آشنای دیگر ، نمونه‌هایی هستند از کاربرد ajax . با استفاده از این معماری ، صفحات وب تعامل بسیار خوبی با کاربران خواهند داشت . به علاوه ، مهم‌ترین مزیت این معماری این است که دیگر برای انجام هر کاری ، لازم نیست صفحه وب دوباره بارگذاری شود . در این مقاله به بررسی تاریخچه ، اصول ، و شیوه ی انجام کارها در این معماری خواهیم پرداخت .
ajax چیست  ؟
ajax یک تکنولوژی نیست ؛ بلکه مجموعه‌ایست از تکنولوژی‌هایی که هر یک در جای خود تکنولوژی کامل و موفقی هستند ، و اکنون به شکل جدیدی در کنار هم قرار گرفته و ajax  را تشکیل داده‌اند . تکنولوژی‌هایی که در ajax از آن‌ها استفاده می‌شود عبارت‌اند از   :
• نمایش استاندارد با استفاده از  xhtml و  css   .
• نمایش پویایی و تعاملات با استفاده از( document object model DOM ) .
• تبادل و دستکاری داده با استفاده از xml و xslt .
• بازیابی داده‌ها به صورت غیر هم روند با استفاده از  xml http request و جاوااسکریپت برای سرهم بندی همه چیز با هم .
در واقع ajax ترکیبی از تکنولوژی‌های فوق است و هیچ چیز جدیدی ارائه نمی‌دهد . همه شگفتی ajax در معماری‌ایست که برای ساخت یک برنامه وب ، با استفاده از این تکنولوژی‌ها ارائه می‌دهد  .
ajax یک شیوه جهت طراحی و توسعه وب‌گاه هابوده که جهت بالا بردن قدرت تعامل interface سایت با کاربر و بالا بردن کیفیت عملکرد و قابلیت های سایت مورد استفاده قرار می‌گیرد ajax . به صورت client side و با به کار گیری java script  و css مورد استفاده قرار می‌گیرد . امروزه در مبحث طراحی صفحات html تکنولوژی ajax عامل حیات صفحه و ارضاء کاربر در مواجهه با  interface تلقی می‌شود .
مجموعه فناوری های تشکیل دهنده Ajax عبارتند از :
• نمایش استاندارد با استفاده از  xhtml و css
• نمایش پویایی و تعاملات با استفاده از مدل شیءگرای سند
• تبادل و دستکاری داده‌ها با استفاده از  xml و xslt
• بازیابی داده‌ها به صورت غیر هم روند با استفاده از xml http request
• نهایتاً جاوااسکریپت برای سرهم بندی همه چیز با هم .
پیشینه
واژه ajax را برای اولین بار jesse james garrett در فوریه سال ۲۰۰۵ در مقاله ajax: a new approach to web applications استفاده کرد . اگرچه نام ajax برای نخستین بار در سال ۲۰۰۵ ابداع شد ، اما تاریخچه اکثر فناوری هایی که به ajax منتهی شدند به حدود یک دهه قبل و ابتکارات مایکروسافت در اسکریپت نویسی از راه دور بازمی‌گردد . با این حال تاریخچه فناوری هایی برای بارگذاری غیرهم روند محتویات یک صفحه وب ، بدون نیاز به بارگذاری دوباره صفحه ، به عناصر ( frame )که در سال ۱۹۹۶ در نسخه ۳ ie ارائه شد و عناصر layer  که در سال ۱۹۹۷ در نسخه ۴ مرورگر netscape ارائه شد ، اما در نسخه‌های اخیر موزیلا متروکه شده ‌است  باز می‌گردد . هردوی این عناصر ، یک خصوصیت src دارند که می‌تواند یک آدرس url خارجی را شامل شود و به این ترتیب اگر صفحه‌ای شامل یک کد جاوااسکریپت بارگذاری شود که صفحه والد را دستکاری می‌کند ، نتیجه‌ای شبیه ajax خواهیم داشت .
اسکریپت نویسی از راه دور مایکروسافت ( یا msrs که در سال ۱۹۹۸ مطرح شد ) جایگزین مناسب‌تری برای تکنیک‌های گذشته به نظر می‌رسید . در این روش ، داده‌ها به‌ وسیله یک java applet دریافت می‌شد ، و در سمت کلاینت برقراری ارتباط به ‌وسیله جاوااسکریپت انجام می‌گرفت . این روش در نسخه‌های ۴ و بعدتر اینترنت اکسپلورر و نت‌اسکیپ پشتیبانی می‌شود .
مایکروسافت در نسخه ی ۵ اینترنت اکسپلورر شیء xmlhttprequest را ارائه کرده و برای اولین بار در out look web access که در microsoft exchange server2000  ارائه شد ، از این روش با استفاده از شی xmlhttprequest بهره جست .
در نهایت با تغییر و تحولاتی که در این مسیر به وجود آمد و جایگزینی شیء xml http request به جای java applet ، اکنون روشی برای اسکریپ نویسی از راه دور متداول شده که آن‌را با عنوان aJax می‌شناسیم .
اما آنچه باعث شد پس از این مدت ، ناگهان توجه‌ها به سمت ajax جلب شود ، تمرکز شرکت گوگل بر این معماری بود . وب‌سایت‌هایی از قبیل google map ، gmail و google suggest پروژه‌هایی بودند که باعث شد توجه کاربران ، چه کاربران عادی و چه کاربران حرفه‌ای ، به نحوه کار آنها جلب شود   .
ajax به عنوان معماری جدیدی برای وب روش کار برنامه‌های کلاسیک وب چیزی شبیه این است :
اکثر تعاملات کاربر با رابط کاربری باعث ارسال یک درخواست به سرور می‌شود . سرور پردازش‌های لازم را انجام داده و سپس یک صفحه html به کلاینت بازمی‌گرداند . این مدل بر اساس هدف اصلی وب ، یعنی ایفای نقش یک رسانه برای ابرمتن است . اما آنچه وب را برای ابرمتن‌ها مناسب می‌کند ، الزاماً آن را برای برنامه‌های نرم‌افزاری نیز مناسب نخواهد کرد . مسئله اینجاست که برنامه‌های وب برای کاربرد ( application )  بودن طراحی نشده‌اند و این باعث شده‌است که در بسیاری موارد کاربر را نادیده بگیرند .
فرض کنید کاربر می‌خواهد در یک فروشگاه الکترونیک ، مشخصات جنس بعدی را ببیند ، یا یک جنس را به سبد خرید خود اضافه کند . اتفاقی که می‌افتد این است که برای انجام هریک از این کارها ، چون نیاز است با سرور ارتباط برقرار شود ، باید یک درخواست به سرور ارسال شده ، سرور پردازش های لازم را انجام دهد و سپس یک صفحه به عنوان نتیجه بازگرداند . کاربر هم در این میان می‌تواند با انگشتانش بازی کند !  
گرچه ما به صفحات وب ، با همین روند انجام فعالیت هاعادت کرده‌ایم ، اما واقعا روش کلاسیک برنامه‌های وب ، گرچه از نظر تکنیکی مزایای بسیاری دارند ، اما مشکلات عمده‌ای هم دارند . یکی از عمده‌ترین مشکلات صفحات وب را می‌توان هم روند کار کردن آنها دانست . ( یعنی همین که وقتی درخواستی از سرور داریم ، صفحه وب مقابل مان مسدود شده و باید منتظر بمانیم تا سرور کارش تمام شود و صفحه‌ای به عنوان پاسخ برگرداند ) .

  
نویسنده : گیسو ; ساعت ۱٢:۳۸ ‎ب.ظ روز ۱۳۸٩/۱٢/۱٧
تگ ها :