AJAX چیست؟ چگونه کار می کند و برای چه چیزی استفاده می شود؟
در حالی که تلاش شما برای مقابله با اصطلاحات فنی ادامه دارد، در نهایت با اصطلاح AJAX مواجه خواهید شد. از نظر فناوری، AJAX هیچ ارتباطی با تمیز کردن محصولات یا عضله سربازان جنگ تروا ندارد (که احتمالاً واضح است)، اما به چه چیزی اشاره دارد؟ آیا این یک زبان برنامه نویسی است؟ یک بستر نرم افزاری؟ یک برنامه وب؟ پاسخ در واقع هیچ یک از موارد بالا نیست.
AJAX چیست؟
AJAX مخفف اختصاری Asynchronous JavaScript و XML است و مجموعه ای از تکنیک های توسعه را برای ساخت وب سایت ها و برنامه های وب توصیف می کند.
به گفته توسعه دهنده وب و مربی وردپرس Ann Cascarano، بهترین راه برای درک AJAX شروع شناسایی هدف خاص آن در فرآیند توسعه وب است. وظیفه اصلی AJAX به روزرسانی همزمان محتوای وب (A” AJAX”) است، به این معنی که مرورگر وب کاربر نیازی به بارگیری کل صفحه وب ندارد، زیرا فقط قسمت کوچکی از محتوای صفحه باید تغییر کند.
یکی از همه گیرترین نمونه های به روزرسانی ناهمزمان، ویژگی “Google Suggest” است.
هنگامی که یک عبارت در نوار جستجوی گوگل وارد می کنید و گوگل هنگام تایپ به طور خودکار گزینه های تکمیل عبارت را نشان می دهد، این عمل AJAX است.
هنگامی که یک عبارت در نوار جستجوی گوگل وارد می کنید و گوگل هنگام تایپ گزینه های تکمیل خودکار را نشان می دهد، این عمل AJAX نامیده می شود.
محتوای صفحه تغییر می کند (در این حالت، گزینه های تکمیل خودکار در نوار جستجو وجود دارد) بدون نیاز به refresh کردن دستی صفحه، (چیزی که استفاده از Google Suggest را غیر عملی می کند).
ویژگی هایی مانند Google Suggest بخشی اساسی در مرور وب است، که به میزان ضروری بودن AJAX در توسعه وب اشاره دارد.علاوه بر Google Suggest، کاسکارانو می گوید كه AJAX معمولاً برای به روز كردن ویژگی هایی مانند وضعیت و نوارهای اعلان، فرم های آنلاین، بخش نظرات و نظرسنجی ها و مورد استفاده قرار می گیرد.
اما دقیقاً “J” و “X” در AJAX چیست و چگونه به روزرسانی همزمان را ممکن می کنند؟
JavaScript و XML
همانطور که در بالا ذکر شد، “J” در AJAX مخفف JavaScript است. JavaScript نوعی زبان اسکریپت نویسی است – از زبانهای کدنویسی برای اتوماسیون فرآیندهای وب سایت استفاده می شود، بنابراین توسعه دهندگان وب مجبور نیستند به صورت جداگانه هر نمونه از فرآیند را که در یک صفحه ظاهر می شود، برنامه ریزی کنند.
در مورد JavaScript، از آن به طور خاص برای ایجاد، افزودن و مدیریت محتوای پویای وب سایت استفاده می شود. به عبارت دیگر، پس از علامت گذاری از زبانهایی مانند HTML و CSS برای ساخت و نمایش ویژگی های وب ثابت استفاده می شود (هدرها، فونت ها، پاراگراف ها و غیره).
سپس JavaScript برای کنترل ویژگی هایی که به هنگام بروزرسانی بازدیدکننده در حال مشاهده یک صفحه هستند (به نقشه های تعاملی، گرافیک متحرک، پیمایش ویدئو، جعبه و …) به کار می رود.
از آنجا که جاوا اسکریپت درگیر به روزرسانی محتوای صفحه است بدون اینکه بینندگان مجبور شوند کل صفحات را به صورت دستی بارگیری کنند، این یک جز مهم برای به روزرسانی غیرهمزمان AJAX است.
“X” در AJAX یعنی XML (زبان نشانه گذاری توسعه پذیر) همانطور که از نام آن مشخص است، XML یک زبان نشانه گذاری است، به این معنی که در همان خانواده مانند زبان های HTML و CSS است.
زبان های نشانه گذاری زبان های رمزگذاری هستند که برای حاشیه نویسی قسمت هایی از یک سند وب استفاده می شوند که هدف آن دستورالعمل های مرورگر وب در مورد نحوه درک، پردازش و نمایش یک صفحه وب در مقابل متن واقعی است که برای نمایش در صفحه ارائه می شود.
در حالی که HTML و CSS بر آموزش نحوه نمایش محتوای صفحه (پاراگراف ها، هدرها، فونت ها، رنگ ها و …) تمرکز دارند، از XML برای انتقال داده های ذخیره شده در صفحه به مرورگرهایی که آن را مشاهده می کنند استفاده می شود.
سیستم های رایانه ای منفرد غالباً با یکدیگر سازگار نیستند و نمی توانند داده های قالب بندی شده توسط سیستم دیگری را درک یا با آنها ارتباط برقرار کنند.
XML به توسعه دهندگان این امکان را می دهد تا با ذخیره سازی داده ها در قالب متن ساده بین برچسب های XML، از این مانع عبور کنند. با این کار، XML راهی برای ذخیره، جابجایی و به اشتراک گذاری داده ها ارائه می دهد که به یک نرم افزار یا سیستم سخت افزاری خاص وابسته نیست (چیزی که برای اینترنت بسیار مهم است، جایی که داده ها باید در تمام سیستم عامل های نرم افزار و سخت افزار در دسترس و قابل درک باشد).
فید RSS – اشتراک های وب مشترک که به کاربران امکان می دهد به محض بروزرسانی در زمان واقعی، به مطالب وبلاگ ها و منابع خبری دسترسی پیدا کنند – با XML ساخته شده اند و نمونه ای از قابلیت های کاربردی اشتراک داده در زبان هستند. اما چگونه XML با JavaScript ترکیب شده و AJAX را تشکیل می دهد؟
![استفاده از ajax](/wp-content/uploads/2020/10/json-live-data-search-using-ajax-jquery-1.jpg)
AJAX چگونه کار می کند؟
طبق گفته کارسانو، JavaScript و XML با هم ترکیب می شوند تا از طریق استفاده از چیزی به نام XMLHttpRequest، به روزرسانی همزمان انجام شود.
هنگامی که کاربر از صفحه وبی که با AJAX طراحی شده بازدید می کند و یک رویداد از پیش تعیین شده رخ می دهد (کاربر صفحه را بارگیری می کند، یک دکمه را کلیک می کند، یک فرم را پر می کند و غیره).
JavaScript یک XMLHttpRequest ایجاد می کند، سپس داده ها را در قالب XML بین یک مرورگر وب منتقل می کند و سپس داده ها را در قالب XML بین یک مرورگر وب (برنامه ای که برای مشاهده وب سایت استفاده می شود) انتقال می دهد و همچنین یک وب سرور (نرم افزار یا سخت افزاری که داده های وب سایت در آن ذخیره می شود).
XMLHttpRequest درخواستی را برای داده های صفحه به روز شده به وب سرور ارسال می کند، سرور درخواست را پردازش می کند، پاسخی در سمت سرور ایجاد می شود و به مرورگر ارسال می شود، سپس از JavaScript برای پردازش پاسخ و نمایش آن بر روی صفحه به عنوان مطالب به روز شده استفاده می کند.
خلاصه: جاوا اسکریپت فرآیند به روزرسانی را به صورت خودکار انجام می دهد، درخواست برای محتوای به روز شده در XML قالب بندی می شود تا به طور جهانی آن را قابل فهم کند و JavaScript دوباره شروع به کار می کند تا محتوای مربوطه را برای کاربر مشاهده کننده صفحه تازه کند.
کارسانو خاطرنشان می کند که تکنیک AJAX داده های صفحه اضافی را نادیده می گیرد و فقط درخواست اطلاعات به روز شده را رسیدگی می کند. این واقعاً تاثیرگذاری AJAX است، که باعث می شود وب سایت ها و برنامه هایی که از AJAX استفاده می کنند سریعتر و با پاسخگویی بیشتری برای کاربران باشند.
چگونه می توان AJAX را یاد گرفت؟
به صورت خودآموز زبان های جاوا اسکریپت و نشانه گذاری را می توان از طریق کلاس های آنلاین یا حضوری یاد گرفت، کارسانو می گوید که کنار هم قرار دادن این مهارت ها و تسلط بر تکنیک AJAX به راحتی از طریق آموزش های آنلاین انجام می شود.
منابع وب با آموزش رایگان AJAX شامل Udacity ،jQuery ،Webucator و Code School است – اما تنها محدود به این موارد نیست.
به یاد داشته باشید، اگر قبلاً جاوا اسکریپت، HTML و XML را یاد گرفته اید، یا حتی اگر هم اکنون در مرحله یادگیری هستید ، AJAX به سادگی روشی برای گردآوری مهارتهایی است که می توان آنها را در طی ساعتها بدست آورد، برعکس یک مهارت کاملاً جدید، وقتی نوبت به کار در مشاغل توسعه دهنده وب می رسد، کارسانو می گوید ارزش آن را دارد که در این ساعت ها وقت بگذارید و با تکنیک AJAX خود را به روز کنید.
اگرچه یک مهارت مستقل نیست، AJAX یک تکنیک کاملاً جهانی و کلیدی برای پیشرفت در قسمت FRONT است که هر وقت صرف آشنایی با آن می کنید، به شما نمایی قابل توجهی می دهد.
منبع: skillcrush