Ajax چیست و مهمترین کاربرد آن کدام است؟

Ajax چیست و مهمترین کاربرد آن کدام است؟
تاریخ بروزرسانی : 16 بهمن 1399 | تعداد بازدید : 1679 | زمان خواندن مقاله : 15 دقیقه
جاوا اسکریپت،

سلام دوستان؛ آیا میدانید Ajax چیست و چرا سروصدای زیادی راه‌انداخته است؟ برای دانستن، با ما همراه شوید.

در گذشته صفحات وب، ایستا و ثابت بودند یعنی زمانی که شما صفحه‌ای از سایت را مشاهده می‌کردید، برای دیدن اطلاعات یا صفحات دیگر راهی به جز بارگذاری مجدد صفحه وجود نداشت.

همچنین اگر می‌خواستید اطلاعاتی به سمت سرور ارسال کنید با بارگزاری مجدد صفحه روبه رو میشدید. انجام این کار در دفعات مکرر سبب کاهش کارایی سرور و افزایش پهنای باند و پردازش‌های مورد نظر می‌شد و استفاده‌ی کارآمد از وب را نیز تحت تاثیر قرار می‌داد. تا اینکه تکنولوژی ajax به میدان آمد و این مشکل را حل کرد. در ادامه بیشتر به توضیح آن میپردازیم.

آموزش جاوا اسکریپت

Ajax چیست:

کلمه‌ی AJAX مخفف عبارت Asynchronous JavaScript and XML بوده و روشی است که به برنامه‌نویسان و طراحان سایت اجازه می‌دهد بدون بارگذاری مجدد اطلاعات (Reload)، صفحه به‌روزرسانی ‌شود.

Ajax چیستمشهورترین نمونه از کاربرد این فناوری، سایت GMail است. در هنگام استفاده از جی‌میل تمامی اطلاعاتی که ارسال و دریافت می‌کنید بدون بارگذاری صفحه و در زمانی کوتاه به انجام می‌رسند. حتی برخی از اطلاعات مورد نیاز شما در پشت صحنه و پیش از درخواست شما، توسط AJAX بارگذاری می‌شوند و در هنگام درخواست فوری در مقابل دید شما قرار می‌گیرند.

اما برای درک کامل از AJAX بهتر است با کارکرد صفحات در وب آشنا شوید. وقتی شما آدرس یک سایت را در مرورگر وارد و دکمه اینتر را فشار می‌دهید یا روی یک لینک در نتایج جستجوی گوگل کلیک می‌کنید در بالای تب مرورگرتان یک حلقه در حال چرخش به نشانه اینکه مرورگر در حال برقراری ارتباط با سرور سایت و بارگذاری اطلاعات سایت روی سیستم شما است، نمایش داده می‌شود. به این عمل در اصطلاح Load شدن صفحه می‌گویند.

اما در خصوص Reload یا بارگذاری مجدد، فرض کنید قصد ثبت‌نام در یک سایت را دارید. در این صورت به صفحه‌ی ثبت‌نام مراجعه کرده و فرم موجود در صفحه را پس از تکمیل کردن ارسال خواهید کرد، معمولا به محض کلیک روی دکمه عضویت دوباره علامت Load شدن صفحه نمایش داده خواهد شد به این عمل Reload صفحه گفته می‌شود یعنی بارگذاری دوباره صفحه!

 

پیشنهاد ویژه: اگر قصد دارید آموزش html css را به صورت کاملا حرفه ای یاد بگیرید، فقط کافیه روی لینک کلیک کنید😎

 

پس در واقع AJAX یک تکنولوژی برای حذف Load شدن‌های اضافه در مواقع نیاز است. فرض کنید هنگام ثبت‌نام، شما در انتخاب پسورد به صورت ایمن عمل نکرده باشید یا اطلاعی از نحوه انتخاب یک پسورد امن نداشته باشید. در این صورت چند بار باید روی دکمه عضویت کلیک کنید و منتظر لود مجدد صفحه و دریافت خطای انتخاب پسورد باشید، قطعا این موضوع تا حد زیادی شما را آزرده خاطر خواهد کرد. اما طراحان سایت با استفاده از تکنولوژی AJAX پس از وارد کردن پسورد یا موارد دیگری مانند نام کاربری با سرور ارتباط برقرار کرده و خطاهای مربوطه را بدون کلیک روی دکمه ارسال و Reload صفحه، در همان زمان به شما نمایش می‌دهند.

پس همینجا میتوان گفت که استفاده از AJAX دو مزیت بزرگ دارد:

  • User friendly (کاربر پسند): ویژگی کاربر پسند بودن Ajax

بدیهی است عدم لود مجدد صفحه در هنگام refresh و افزایش محسوس سرعت نمایش اطلاعات، حس خوب تجربه کاربری (Ux) را افزایش خواهد داد.

 

  • Increased Speed (افزایش سرعت):ویژگی افزایش سرعت Ajax

اصلی‌‌ترین هدف ایجکس افزایش سرعت، کارایی و قابلیت استفاده (Usability) وب‌سایت است.

 

مثال دیگری برای درک کاربرد ایجکس: 

وقتی در گوگل جستجویی انجام میدهید؛ حتما مشاهده کرده‌اید به محض تایپ کلمات، پیشنهادات مشابه‌ای توسط گوگل به شما ارائه می‌گردد. این امکان در پشت صحنه توسط تکنولوژی AJAX برای شما فراهم می‌شود و در حقیقت ایجکس نتایج را به سرعت برای شما فراخوانی و نمایش می‌دهد.

نحوه کار کردن Ajax چیست:

این تکنولوژی طی چند مرحله و با ایجاد یک event آغاز می‌شود. زمانی که یک رویداد برای اجرای کدهای جاوا اسکریپت جهت ارسال داده‌های بخش معینی به سرور ایجاد میشود، مرورگر به کمک جاوا اسکریپت یک شی از XMLHttpRequest یا XHR می‌سازد. این شئ یک API یا Application Programming Interface است که می‌تواند با جاوا اسکریپت، انواع مرورگرها و زبان‌های دیگر به منظور انتقال و مدیریت داده‌های XML ارسالی و دریافتی مرورگرها از طریق HTTP مورد استفاده قرار گیرد. در ادامه ایجکس از طریق شی ساخته شده، داده‌ها و اطلاعات مورد نظر را به سرور ارسال کرده و بعد از درخواست، دریافت و پردازش، نتیجه نهایی به مرورگر برگردانده میشود. مرورگر پاسخ را به کمک جاوا اسکریپت دریافت و بر اساس نحوه‌ی طراحی برنامه‌نویس وب، در بخشی که از طریق شناسه‌ها برایش مشخص شده نمایش می‌دهد.

اما میدانید چه زمانی از ایجکس استفاده کنید؟

اگر فکر میکنید چون شرکت‌های بزرگی مثل گوگل و یاهو از ایجکس استفاده میکنند من هم باید از آن استفاده کنم؛ زیرا هم حرفه‌ای و کاربر پسند است و هم یکی از تکنیک‌های بسیار پرکاربرد در سایت‌ها و سرویس‌های بزرگی مانند گوگل است؛ باید بگوییم سخت در اشتباه هستید.

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

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

AJAX برای چه کارهایی ساخته شده است؟

در این بخش به برخی از کاربردهایی که بهتر است از AJAX در آن‌ها استفاده کنیم، میپردازیم:

  • اعتبار سنجی فرم‌ها

همانطور که گفتیم اگر اعتبارسنجی پس از ارسال فرم انجام شود، ممکن است برای کاربر مشکل‌ساز باشد. بنابراین از AJAX در اعتبارسنجی فرم‌ها استفاده می‌کنیم.

  • لایت باکس

لایت‌باکس‌ها در حقیقت همان صفحاتی هستند که بعد از لود سایت روی آن نمایش داده می‌شوند. این باکس‌ها معمولا به گونه‌ای طراحی می‌شوند که محتویات صفحه در پشت آن‌ها قابل نمایش باشد و به همین دلیل به آن‌ها لایت باکس گفته می‌شود. اکثر لایت‌باکس‌ها هدف تجاری دارند و معمولا برای تبلیغات و آفرهای ویژه استفاده می‌شوند.

  • مرتب‌سازی یا فیلتر

بعضی اوقات می‌خواهید نتایج جستجو یا چیز دیگری را براساس تاریخ، محبوبیت، هزینه و غیره فیلتر کنید، در این حالت ایجکس یک تکنیک بسیار خوب است.

  • رای دهی یا لایک کردن

اگر نیاز دارید کاربر به چیزی رأی دهد یا محصول شما را ارزیابی کند، نیازی به بارگذاری مجدد کل سایت نیست. عمل رتبه‌دهی و نمایش آن می‌تواند با استفاده از AJAX انجام شود.

  • چت و گفتگوها

الزامی نیست برای دریافت و ارسال پیام صفحه مجددا بارگذاری شود. پس اگر می‌خواهید یک صفحه چت در وب سایت خود ایجاد کنید، باید از AJAX استفاده کنید.

  • کپچا (Captcha)

کپچا همان کد امنیتی است که برای تشخیص کاربران واقعی از ربات‌ها در سایت‌ها استفاده می‌شود.

دوستان این را به خاطر داشته باشید که برخی از پروژه‌های خاص بهتر است با ایجکس پیاده‌سازی شوند؛ مثلا نمایش اتمام پروژه‌های کارمندان در پیشخوان یک پرتال مدیریتی به مسئول پروژه یا نمایش پیام‌ها در لحظه به مدیران.

مزایای  AJAXچیست

AJAX با حذف زمان بارگیری مجدد صفحه، سبب کوتاه‌تر شدن مسیر رسیدن به پاسخ و سریع‌تر انجام شدن کارها میٰ‌‌شود. همچنین با جلوگیری از دانلود مجدد محتویات صفحه روی سیستم کاربر، بار سرور را کاهش داده و پهنای باند را ذخیره می‌کند و در کارهایی که نیاز به پاسخ آنی باشد، بسیار کاربردی است.

معایب AJAXچیست

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

در صفحه‌ای که از تکنولوژی AJAX استفاده کرده‌اید امکان بوک مارک کردن و همچنین اشتراک‌گذاری لینک محتوا را ندارید چراکه تنها مرورگرهای مدرن از آن پشتیبانی می‌کنند و اگر جاوا اسکریپت توسط کاربر غیر فعال شده باشد، ایجکس اجرا نشده و سایت شما ناقص و ناکارآمد به نظر خواهد رسید.

در آخر هم میرسیم به یک جمع‌بندی از کل محتوا:

خب دوستان متوجه شدیم که AJAX چیست؛ بله یک فناوری جديد و شگفت‌انگيز. ولی در حقيقت كل اين شعبده بر اساس فناوری‌هايی بنا شده كه هم‌اكنون موجودند؛ یعنی جاوا اسكريپت و XML. هر دوی اين فناوری‌ها منحصر به شركت خاصی نيستند و اين روزها تمام محافل دنيای برنامه‌نويسی مملو از مقالات و تحليل‌هايی درباره Ajax است. بنابراين ظرفيت بالايی برای تبديل ايجكس به يك استاندارد جهانی وجود دارد.

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

ایجکس چیست

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

در اين صورت ممكن است واقعا بخش مهمی از توان پردازشی نرم‌افزارها، چه از نوع دسكتاپ و چه از نوع تحت وب به سيستم‌های موسوم به Web Service واگذار شود. از اين رو كسانی كه مبتكر و مشوق ايده وب‌سرويس بوده‌اند، اين روزها انگيزه تازه‌ای برای سرعت بخشيدن به اين فناوری پيدا كرده و تلاش مي‌كنند دو فناوری ايجكس و وب سرويس را به يكديگر پيوند دهند و راهكارهای تازه‌ای بيافرينند.

پس اگر میخواهید بیشتر با نحوه پیاده‌سازی و کارکرد آن بدانید، کافیست از فیلم آموزشی معرفی کامل AJAX و استفاده از آن بهره ببرید.


کلمات کلیدی :
جاوا اسکریپت