عضویت در خبرنامه

با عضویت در خبرنامه از آخرین مقالات اطلس ساختار داده باخبر شوید

عضویت
arrow_backward بازگشت

معرفی Ajax و کاربرد آن در طراحی سایت مدرن

هنگامی که من در سال 2006 شروع به یادگیری ساختن وب سایت کردم Ajax کم کم در حال محبوب شدن میان متخصصین وب بود . این افراد سنگ بنای تکنیک انقلابی Ajax را پایه گذاری کردند ، تکنیکی که نحوه بارگذاری اطلاعات HTTP را بر روی یک صفحه وب برای همیشه تغییر داد .

در این مقاله سعی خواهم کرد دقیقا برایتان شرح دهم که Ajax چیست و چگونه در وب سایت های امروزی پیاده سازی می شود . در دهه گذشته اتفاقات زیادی افتاده که باعث شده Ajax متداول ترین راه برای ساختن وب سایت های داینامیک باشد .

بهتر است قبل از یادگیری نحوه پیاده سازی Ajax در وب سایت ، تاریخچه ای از آن و مشکلاتی را که برایمان حل کرد بررسی کنیم .

 

تاریخچه ای مختصر از Ajax


Ajax عبارت است از متدی برای انتقال اطلاعات HTTP به یک مرورگر بدون بارگذاری مجدد (refresh) آن صفحه . بعضی اوقات این کلمه را بصورت ترکیب حروف ابتدایی کلمات Asynchronous JavaScript And XML در نظر می گیرند .

این ایده توسط Jesse James Garett طراحی شد و در میانه های سال های 2000 تا 2010 به شدت مورد توجه قرار گرفت .

در آن سال ها بعضی از شرکت ها به مفاهیم Ajax علاقه نشان دادند . یکی از بزرگترین آنها Digg’s voting badge بود که یک HTTP query برای دسترسی به بانک اطلاعاتی بدون رفرش کردن صفحه ایجاد کرده بود .

از آن زمان تاکنون بسیار از شرکت ها به استفاده از این تکنولوژی روی آورده و امروزه Ajax یکی از ضرورت های طراحی وب سایت است .

استفاده از فریم ورک ها و کتاب خانه هایی مانند jQuery به جای کدهای پایه جاوااسکریپت ، پیاده سازی این تکنیک را بسیار ساده تر کرده است . اما دقیقا اصول این تکنیک چیست و Ajax چگونه در مرورگر ها اجرا می شود .

 

Ajax دقیقا چیست ؟


در تعریف فنی ، Ajax نوعی API object است که از متد ()XMLHttpRequest استفاده می کند . این متد قابلیت ارسال و دریافت اطلاعات از سرور را بدون refresh کردن صفحه فراهم می کند .

این متد در ابتدا توسط Mirrosoft طراحی شد و اکنون توسط WHATWG استاندارد سازی شده است . بر اساس اطلاعات بلاگ Aaron Swartz این XMLHttpRequest یا به اختصار XHR اولین بار در مرورگر IE5 گنجانده شد و به سرعت توسط Mozilla و سایر مرورگرهای مطرح نیز بکار گرفته شد .

مایکروسافت یک متد جاوا اسکریپت به نام XMLHttpRequest ایجاد کرد که امکان انتقال اطلاعات HTTP به سمت کاربر را فراهم می کرد . این متد در ابتدا فقط توسط IE پشتیبانی می شد اما به زودی سایر مرورگرها هم آن را به متدهای خود افزودند . این متد Ajax نامیده شد و جای خود را در متدلوژی های طراحی سایت به سرعت باز کرد .

خوب ، این تکنیک دقیقا چطور کار می کند ؟ یک درخواست  (HTTP (request به سرور لوکال یا ریموت فرستاده می شود . اطلاعات درخواستی از سرور به کلاینت فرستاده می شود بصورتی که JavaScript می تواند آن را pars ( تجزیه و تحلیل و استفاده ) کند .

متداول ترین اطلاعات منتقل شده در این متد در ابتدا XML بود . اما با گذشت زمان این متد شروع به پشتیبانی انواع اطلاعات دیگر از جمله JSON کرد . این ، یک تکامل بسیار طبیعی بود زیرا که اطلاعات JSON را می توان به صورت آبجکت pars کرد که به مراتب کاربردی تر از XML است .

 

Ajax و طراحی سایت مدرن


در حالی که هنوز می توان از آبجکت XMLHttpRequest استفاده کرد اما سینتکس این متد بسیار پیچیده و سنگین است . به همین دلیل امروزه توسعه دهندگان استفاده از کتابخانه هایی مانند jQuery ویا UmbrellaJS را ترجیح می دهند ، هر دو این کتابخانه ها متد ()ajax. مخصوص به خود را دارند .

تقریبا بیشتر کدهای Ajax برای ارتباط با بانک اطلاعاتی بکار می روند . Ajax برای دریافت اطلاعات از بانک اطلاعاتی با اسکریپت های سمت سرور ارتباط برقرار می کند . این اسکریپت می تواند با زبان های PHP ، Ruby ، Node و یا حتی Java نوشته شده باشد . آن چیزی که خیلی مهم است نوع اطلاعات بازگشتی است که عمدتا JSON است .

توسعه دهندگان حتی می توانند به بانک اطلاعاتی ریموت با استفاده از Ajax دسترسی پیدا کنند و بصورت live-stream اطلاعات را آپدیت کنند . اما معمولا API ها محدودیت هایی برای انتقال اطلاعات در این روش اعمال می کنند .

بیشترین کاربرد Ajax در طراحی سایت امروزه مربوط به تعامل با بانک اطلاعاتی است ، برای مثال Ajax این امکان را می دهد که بدون رفرش شدن صفحه ، مشخصات profile آپدیت شود و یا در رای گیری یک وب سایت شرکت کرد و نتایج آن را بصورت آن لاین مشاهده کرد ، باز هم بدون رفرش صفحه .

نکته کلیدی هر وب سایتی که از Ajax استفاده می کند ، فهمیدن نحوه انتقال اطلاعات از frontend به backend است . اگر می خواهید سرعت بارگذاری وب سایتتان را افزایش دهید خواندن مقاله Ajax optimization را به شدت به شما پیشنهاد می کنم .

 

بارگذاری ناهمزمان Asynchronous Loading ؛ چه قدر از Ajax استفاده کنیم ؟


بزرگترین سوال توسعه دهندگان ، ابهام در مورد شرایط استفاده از Ajax است و اینکه چه زمانی باید از آن استفاده کرد .جواب واضحی برای این سوال وجود ندارد اما نکاتی وجود دارد که با بررسی آنها میتوان تا حدودی به این پرسش ، پاسخ داد .

اولین نکته این است که تا جای ممکن استفاده از درخواست های HTTP را کاهش داد . مگر اینکه کلی برنامه نویس و چند صد سرور در اختیار داشته باشید ، مانند Twitter . در نظر داشته باشید که برای اجرای آپدیت های زنده Ajax بر روی وب سایتتان مجبورید سرعت را قربانی کنید .

Ajax یک ابزار فوق العاده برای افزایش user experience در یک وب سایت است . بعضی وب سایت ها از تکنیک اسکرول کردن بی نهایت (infinite scrolling) برای تبدیل انتقال صفحه به رفرش کردن صفحه از طریق فراخوانی Ajax عمل می کنند . با استفاده از این تکنیک به جای دریافت تمام صفحه ، فقط بخشی از اطلاعات را آن هم بصورت اطلاعات خام parsed شده جاوا اسکریپت دریافت می کند .

در زمینه نحوه دریافت اطلاعات و بهینه سازی Ajax مقالات بسیاری منتشر شده که می تواند راهنمای خوبی برای طراحان و توسعه دهندگان وب باشد .

ذکر این نکته هم لازم است که سرعت اینترنت امروزه عموما بسیار افزایش یافته و به همین دلیل می توانید بدون نگرانی ، از تکنیک Ajax بسیار بیشتر استفاده کنید . اما همیشه قبل از استفاده ، در مورد انگیزه تان یک جواب صادقانه بدهید ؛ آیا Ajax واقعا "تجربه کاربری" وب سایتتان را افزایش می دهد و یا فقط دلتان می خواهد که از این تکنیک استفاده کنید ؟

0 دیدگاه