آشنایی با تکنولوژی ایجکس (Ajax)
تا قبل از تکنولوژی ایجکس برای تغییر بخشی از صفحه نیاز به بارگذاری کل صفحه وب بود. اما بعد از ایجکس (Ajax) تبادل اطلاعات با سرور به حدی پیشرفت کرد که برای تغییر قسمتهایی از صفحه وب دیگر نیازی به بارگذاری مجدد کل صفحه نبود. همراه ما باشید تا ساز و کار این تکنولوژی محبوب و کارآمد را با شما در میان بگذاریم.
ajax چیست ؟
Ajax مخفف Asynchronous Javascript And Xml به معنای “جاوا اسکریپت و برنامه نویسی آسنکرون” میباشد. در واقع روشی است که با ترکیب جاوااسکریپت و Xml به سرور درخواستی برای بارگذاری بخشی از صفحه را می دهد. اولین وب سایت مشهوری که از این تکنولوژی استفاده کرد Gmail بود که با استفاده از این تکنولوژی کاربران به محض دریافت ایمیل، بدون اینکه صفحه را refesh کنند میتوانستند آن را در inbox خود مشاهده کنند.
Google suggestion یکی از بهترین مثال ها برای تفهیم Ajax است. هنگامی که شما درگوگل عبارتی را تایپ می کنید گوگل در عرض چند میلی ثانیه به شما ادامه عبارتی را پیشنهاد میکند. این سیستم از ajax پیشتیبانی میکند. در صورت عدم وجود ایجکس گوگل برای هر پیشنهاد مجبور به بارگذاری کل صفحه می شد!
مفهوم برنامه نویسی آسنکرون و ایجکس
در ک مفهوم ایجکس به درک درست از مفهوم برنامه نویسی آسنکرون مربوط میشود. در برنامه نویسی سنکرون ترتیب اجرای دستورات تابع ترتیب نوشتن آنها میباشد. در واقع در برنامه نویسی سنکرون تا زمانی که یک دستور به طور کامل اجرا نشود، دستورات بعدی اجرا نخواهند شد. ولی در برنامه نویسی آسنکرون اجرای هر دستور تابع اجرای کامل دستورات قبلی نیست و ممکن است شرایط بیرونی بر عملکرد اجرای برنامه تاثیر بگذارند. شرایط بیرونی میتواند آپدیت شدن مقدارمتغیر در دیتا بیس یا کلیک کردن کاربر روی عنصری خاص یا هر چیز دیگری باشد.
سازوکار Ajax چگونه است؟
ویژگی این شی این است که به صورت مستقیم میتواند صفحات و یا وب سرویس ها را از سمت کاربر دریافت و به سمت سرور ارسال کند. به این صورت که درخواستها از مرورگر می گیرد. و در سمت سرور پردازش و دوباره به مرورگر باز میگرداند.
نحوه کار ajax به این صورت است که هنگامی که یک رویداد اتفاق می افتد ابتدا با استفاده از جاوا اسکریپت یک شی از XMLHTTP ساخته میشود و درخواست به صورت httpRequest به سرور ارسال میشود. سرور در خواست httpRequest را پردازش میکند. پاسخ را ایجاد کرده و نتیجه به صورت داده xml یا Json به مرورگر ارسال میکند. در مرحله آخر مرورگر با استفاده از داده هایی که دریافت کرده محتوای صفحه را به روزرسانی میکند.
وجه تمایز ایجکس با دیگر برنامه ها در این است که می تواند چندین رویداد را به صورت مستقل از هم به سمت سرور ارسال کند.
از تکنولوژیهایی که در Ajax استفاده می شود می توان به:
- HTML و Css
- DOM(Document Object Model)
- و جاوا اسکریپت
اشاره کرد.
توجه کنید که X در کلمه Ajax به xml اشاره میکند. در واقع اوایل بوجود آمدن Ajax داده ها به صورت xml مبادله میشدند. بعد از مدت کوتاهی به دلیل سادگی و حجم کمتر json جایگزین xml شد. امروز در اکثر موارد از json برای مبادله داده ها استفاده میشود. ولی هنوز اصطلاح رایج این تکنولوژی همان ajax است هر چند برخی بر این عقیده اند که باید اصطلاح Ajaj را جایگزین Ajax کرد.
موارد استفاده از Ajax
درمورد استفاده Ajax میتوان گفت که هر جا حجم دادههایی که ذخیره و یا بازیابی میشوند کم باشد از ایجکس استفاده میشود. به طور مثال:
در قسمت جستجوی سایت و پیشنهاد مطالب مرتبط با نوشته ی در حال تایپ کاربر و یا امتیاز دهی به هر مطلب (به ستاره ها در انتهای این مطلب توجه کنید) با فشردن هر ستاره و امتیاز به هر مطلب میبینید که صفحه مجدد بارگذاری نمیشود.
ایجکس در وردپرس
بسیاری از افزونه های وردپرس از ایجکس پشتیبانی می کنند. برای مثال نمایش مطالب بیشتر که در وب یار به صورت مفصل کار با آن آموزش داده شده است.
مزایا و معایب ایجکس
با معرفی ایجکس مزایای بسیاری در اختیار برنامه نویسان قرار گرفت. اما در کنار آن بروز معایبی که در نهایت منجر به پیشرفت روزافزون این تکنولوژی می شود، غیر قابل اجتناب است.
مزایای ایجکس
- با استفاده از ایجکس میتوان بدون بارگزاری کامل صفحه داده هایی را به سرور ارسال یا داده ها را ارسرور دریافت کرد. در نتیجه میتوان تنها قسمت خاصی از صفحه را به روزرسانی کرد.
- با توجه به اینکه درخواست ها در ایجکس به صورت آسنکرون ارسال و دریافت میشوند. هنگامی که مرورگر درحال ارسال درخواست به سمت سرور یا منتظر دریافت پاسخ است برنامه جاوااسکریپت میتواند به کار خود ادامه دهد.
- به دلیل اینکه نیازی به بارگزاری کل صفحه نیست. متغیرها مقادیر خود را از دست نمی دهند. درصورتی که اگر کل صفحه بارگزاری شود تمام داده ها از بین خواهند رفت.
- به دلیل کاهش حجم داده های مبادله شده با سرور سرعت اجرای برنامه افزایش می یابد.
- از آنجایی برای به روز رسانی اطلاعات نیاز به بارگزاری کل صفحه نیست در نتیجه پهنای باند کمتری استفاده میشود.
- ظاهر برنامه ها بیشتر شبیه برنامه های دسکتاپ میشود در نتیجه کاربر پسند تر است.
معایب ایجکس
- برخی از مرورگرها مخصوصا مرورگرهای قدیمی از xmlHttp پشتیبانی نمیکنند. همچنین ممکن است بعضی مرورگرها یا کاربران به دلایل خاصی جاوا اسکریپت را غیر فعال کرده باشند. در این صورت برنامه های ایجکس در این مرورگرها کار نخواهد کرد.
- طولانی شدن زمان توسعه و برنامه نویسی
- با توجه به اینکه موتورهای جستجو به صفحاتی که با استفاده از ایجکس فراخوانی میشوند دسترسی ندارند. توسط موتورهای جستجو ایندکس نمیشوند.
- یکی دیگر از معایب این تکنولوژی مربوط به سیاست Same-origin policy یا SOP یعنی سیاست منبع یکسان مربوط است. در این سیاست به دلایل امنیتی درخواست های Ajax تنها به آدرس هایی ارسال میشود که منبع آنها با منبع صفحه وب درخواست کننده Ajax یکسان باشد. به این ترتیب اگر نیازمند دریافت اطلاعات از سرور دیگری باشید این کار توسط Ajax امکان پذیر نیست.
استفاده از Ajax و پذیرفتن معایب آن تصمیمی است که در نهایت شما باید بگیرید. اما با وجود مزایایی که برشمرده شد و هزاران مزیت دیگر و بازخورد مثبتی که کاربران به برنامههای ایجکسی می دهند پیشنهاد ما به شما استفاده از آن و بهره بردن از این تکنولوژی به روز است.
تیم وب یار در راستای کمک به پیشرفت شما عزیزان آموزشهای کاربردی فراوانی در زمینه طراحی سایت و سئو سایت در اینستاگرام خود قرار داده است.