اگر قصد طراحی یک سایت را داشته باشید احتمالا شاید بخواهید بدانید ajax چیست و چه مزایایی دارد.
AJAX چیست؟
AJAX سرنام Asynchronous JavaScript and XML کلمات به معنی “ترکیب نامتقارن JavaScript و XML” .
اما قبل از اینکه بگوییم ajax چیست بد نیست کمی به JavaScript و XML بپردازیم.
JavaScript چیست؟
باید توجه داشت دو واژه جاوا(Java) و جاوا اسکریپ(JavaScript) را از یکدیگر تفکیک کنید.
جاوا یک پلتفرم می باشد این در حالیست که جاوا اسکریپت یک زبان برنامه نویسی است.
جاوا اکسریپت یک زبان اسکریپت نویسی وب می باشد.
* به زبان گویاتر منظور از اسکریپ همان برنامه نویسی می باشد.
JavaScript امروزه یک زبان برنامه نویسی گسترده در سرتاسر دنیا می باشد و با آن کارهای زیادی از قبیل برقراری ارتباط با سرور می توان انجام داد.
JavaScript را به اختصار JS نیز می نامند .
در برخی از آموزش ها توصیه می شود قبل از فراگیری این زبان مروری بر HTML و CSSداشته باشید که می توانید اطلاعات پایه در این مورد را از مرکز آموزش تهران هاست فرا بگیرید.
-در اصل این زبان توسط Brendan Eich توسعه یافت.
-مبارزه با مایکروسافت در دنیای اینترنت.
-این زبان توسط NetScape تولید شده است.
-پایه این زبان مبتنی بر اشیاء می باشد.
-به کمک این زبان به راحتی می توانید با اشیاء موجود در HTML ارتباط برقرار کنید.
-اولین نسخهٔ جاوا اسکریپت در نسخه 2.0B3 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد.
تاریخ به ما می گوید که مایکروسافت با در نظر گرفتن مبانی حقوقی یک نسخه از جاوا اسکریپ را در مرورگر نسخه 3 خود منتشر کرد و نام آن را Jscript قرار داده . گرچه تفاوت های این دوزبان با هم بسیار کم است اما نباید Jscript و JavaScript را یکسان دانست.
-پایه برنامه نویسی این زبان، C می باشد.
XML چیست؟
سرنام کلمات Extensible Markup Language می باشد، به معنی “زبان نشانه گذاری توسعه پذیر” .
این زبان هم، یک زبان نشانه گذاری می باشد.
زبانی که یک قالب برای برای کدگذاری اسناد،برای هردو؛که هم انسان بتواند بخواند هم ماشین بخواند؛ تعریف می کند. این ویژگی در XML 1.0 توسط W3C ایجاد شد.
پس از ایجاد اکسامال توسط کنسرسیوم W3C در سال ۱۹۹۶، دستاندرکاران بسیاری از پروژههای محاسبات توزیعشده به استفادهٔ گسترده از آن روی آوردند.
-نکته مهم اینجاست که بسیاری از خدمات در سطح وب و برنامه نویسی تقریبا بدون XML امکان پذیر نیست.
پس از بررسی دو واژه XML و JavaScript نوبت به تعریف AJAX می رسد.
AJAX
بخوانید /ˈeɪdʒæks/ اِی جَکس، یک زبان برنامه نویسی جدید نمی باشد این در حالیست که یک زبان که راه های جدیدی را برای استفاده از استانداردها را ابداع کرد.
یک فناوری، یا به واقع یک نوآوری در جهت تبادل داده ها بایک سرور، بروز رسانی قسمتی از یک صفحه وب بدون بارگذاری مجدد(و یا همان از کار افتادگی).
یک فناوری مستقل نیست، بلکه ترکیبی از بلکه گروهی از فناوری ها می باشد.
این مهم است که به توان درک کرد که AJAX فناوری نو و کاملا جدید نیست، و در طول سالهای بسیار فناوری های متعددی به تکامل رسیدند و نهایتا گروهی از آنها AJAX را تشکیل دادند.
CSS و HTML می توانندنشانه گذاری ها و styleها را تلفیق کنند.
یک تکنیک برای بروزرسانی صفحات داینامیک سایت. در واقع می توان گفت صفحات ساده وب که غالبا در گذشته از آنها با عنوان کلاسیک یاد می شد، فاقد AJAX می باشند.
نمونه های برجسته از کاربرهادی های AJAX در اینترنت میتوان به موارد زیر اشاره کرد:
Google Maps ، Gmail، Youtube و Facebook .
مبانی AJAX شامل موارد زیر می باشد:
شیء XMLHttpRequest >تبادیل اطلاعات ناهمگام با یک سرور
JavaScript/DOM >جهت نمایش یا تعامل با اطلاعات
CSS >سبک داده ها
XML >اغلب برای قالب تبادل داده ها استفاده می شود.
توضیحات بالا را می توان در شکل زیر مشاهده کرد:
AJAX هم، مانند بسیاری از فناوری ها یک شبه استاندارد سازی نشد و چندین سال طول کشید تا به تکامل برسد.
ابتدا در سال 2004 در یکی از مقالات مطرح شد اما کلمه AJAX در سال 2005 ابداع شد، اگر چه بسیاری از فناوری های مورد استفاده در AJAX به دهه های قبل باز می گردند.
AJAX همچنین از فناوری RIA استفاده می کند که از کلمات Rich Internet Application تشکیل شده است.
ای جکس یک شیوه جهت طراحی و توسعه وبگاهها بوده که جهت بالا بردن قدرت تعامل Interface سایت با کاربر و بالا بردن کیفیت عملکرد و قابلیتهای سایت مورد استفاده قرار میگیرد. Ajax به صورت Client Side و با به کار گیری JavaScript و CSS مورد استفاده قرار می گیرند.
قسمتهای مهم معماری ایجکس:
رخدادهای کوچک سمت سرور: اجزای درون یک برنامه وب میتوانند، درخواستهای کوچکی برای سرور ارسال کنند، اطلاعات مورد نیازشان را از سرور دریافت کنند، و هر قسمت از صفحه را که لازم است بر اساس DOM بهروز کنند، بدون اینکه تمام صفحه دوباره بارگذاری و ترسیم شود.
غیر همروند بودن: درخواستهایی که به سرور ارسال میشود، باعث مسدود شدن صفحهٔ درون مرورگر کلاینت نمیشوند. کاربر میتواند به کار با قسمتهای دیگر برنامه ادامه دهد و هنگامی که پاسخی از سرور دریافت شد، با بهروز کردن رابط کاربر، به کاربر اطلاع داده میشود.
عکسالعمل برای هر رخدادی: تقریباً میتوانیم برای تمام رخدادهایی که کاربر بوجود میآورد، با سرور ارتباط برقرار کنیم. مرورگرهای مدرن اکثر رخدادهایی را که سیستمعامل اجازه میدهد دریافت میکنند: کلیک کردن موس، حرکت موس روی شی، زدن یک کلید و غیره. هر رخدادی میتواند باعث ارسال یک درخواست به صورت غیر همروند برای سرور شود.
-یکی از مزایای AJAX؛ بهدلیل عدم نیاز به بارگذاری مجدد كل یك صفحه وب، مقدار دادههایی كه لازم است برای تكمیل یك Interaction میان كاربر و سایت مبادله شود، به شدت كاهش مییابد و این به معنی افزایش محسوس سرعت نرمافزارهای تحت وب، سهولت بهكارگیری اینترفیسهای مبتنی بر ایجكس و كاربرپسندترشدن آنها میشود. به همین دلیل این روزها اكثر پورتالهای بزرگ (مانند Yahoo) مشغول طراحی اینترفیسهای مبتنی بر Ajax هستند.
اما امروزه اغلب مرورگرهای مهم و شناختهشده (از جمله فایرفاكس) از آن پشتیبانی میكنند و دیگر یك فناوری محدود به اینترنت اكسپلورر نیست.
نهایتا می توان روند کاری ای جکس را به صورت زیر تشریح کرد:
بجای اینکه مرورگر در آغاز ارتباط تنها یک صفحه HTML را بارگذاری کند، یک موتور ایجکس را نیز همراه با صفحه بارگذاری میکند، که به زبان جاوااسکریپت نوشته شده و معمولاً مابین فریمهایی در صفحه پنهان شدهاست. این موتور عامل بهروز کردن رابط کاربریای که کاربر میبیند، و همچنین برقراری ارتباط با سرور در پشت پرده است. موتور Ajax امکان تعامل کاربر با برنامه را، مستقل از ارتباطات و نقل و انتقالات بین برنامه و سرور میدهد. بنابر این، کاربر دیگر شاهد یک صفحه خالی و ساعت شنی و انتظار برای انجام عملیات سمت سرور نخواهد بود.
آن دسته از فعالیتهای کاربر که باعث یک درخواست HTTP میشدند، اکنون با استفاده از جاوااسکریپت موتور ایجکس را فراخوانی میکنند. در مورد پاسخ به آن دسته از فعالیتهای کاربر که نیاز به ارسال درخواست به سرور ندارند (مانند اعتبار سنجیهای ساده دادهها، ویرایش دادههای درون حافظه سیستم کلاینت، و حتی هدایت کاربر به بخشهای مختلف برنامه در برخی موارد) موتور ایجکس خود وارد عمل میشود. اگر موتور ایجکس برای پاسخ گویی نیاز به چیزی از سمت سرور داشته باشد، (مثلاً اطلاعاتی را از بانک اطلاعاتی بخواهد، کدهای جدیدی برای رابط کاربر لازم داشته باشد و…) بصورت غیر همروند و معمولاً در قالب XML یک درخواست به سرور ارسال میکند. ارسال این درخواست هیچ وقفهای در کار کاربر با برنامه ایجاد نخواهد کرد.
====
برخی منابع:
دیدگاهتان را بنویسید