اغلب استفاده ما از ایجکس (Ajax) در برنامه نویسی وب به قابلیت های ذاتی و استاندارد آن محدود میشود و شاید خواندن این مطلب برای کاربردهای عمومی چندان هم ضروری نباشد اما اگر بخواهیم تا حد تسلط کامل پیش برویم ناگزیر باید با مبحث فریم ورک های ایجکس حداقل در حد اطلاعات اولیه آشنا باشیم، بعضا ممکن است در پروژه های بزرگ برنامه نویسی برخی کارهای پیچیده با صرف کدنویسی ای جکس و متدهای متداول آن محقق نشود یا در کارهای گروهی به دلیل ایجاد سرعت و هماهنگی بیشتر یا سلیقه اعضاء تیم نیاز به کار با کتابخانه ها، API ها و توابع دیگری باشد که در این آموزش در مجموع به آنها فریم ورک میگوئیم، به همین خاطر در ادامه مباحث مقدماتی ای جکس (Ajax) این مطلب را اختصاص دادهایم به آشنایی با فریم ورک های ای جکس (Ajax Framework) تا با نگاهی بازتر بتوانیم از تمام قابلیتهای تکنیک غیرهمزمانی در وب استفاده کنیم.
Ajax چیست؟
AJAX (ایجکس) مخفف عبارت Asynchronous JavaScript and XML و به معنای ترکیب جاوا اسکریپت و xml غیرهمزمان و ناهمگام است. آشنایی با این تکنولوژی پرکاربرد برای توسعه دهندگان و طراحان ضروری است.
اگر به طرز کار صفحات وب توجه کنید متوجه میشوید که برای نمایش هر مطلب یا صفحهی جدید، صفحات وب مجدداً بارگذاری (refresh) میشوند تا محتوای جدید را نمایش دهند.
تکنولوژی AJAX ایجاد شده تا بدون نیاز به refresh کل صفحه، بخشی از اطلاعات صفحه بارگذاری شود. در واقع این تکنولوژی به کاربر اجازه میدهد بدون بارگذاری مجدد صفحه، دادههایی را به سرور ارسال کند تا در آنجا پردازش شوند. سپس اطلاعات را دریافت و در صفحه وب به نمایش در آورد.
Ajax از قسمت های زیر تشکیل شده است:
1- نمایش اطلاعات در مرورگرها در قالب HTML و CSS
2- ذخیره سازی اطلاعات در قالب Text Xml که از سمت سرور دریافت شده است.
3- جاوا اسکریپت که بخش اصلی Ajax است ولی Ajax مختص جاوا اسکریپت نیست. اخیرا Framework های جدیدی برای Ajax ارائه شده یکی از آنها Atlas و نسخه ی جدیدتر آن Asp.net Ajax می باشد.
مزایا و معایب ایجکس چیست؟
مانند هر تکنولوژی دیگر ایجکس هم دارای مزایا و معایب مخصوص به خود است.
مهمترین مزایای ایجکس
- خواندن اطلاعات از سرور بعد از لود شدن صفحه
- بروزرسانی یک صفحه بدون نیاز به بارگذاری مجدد آن
- ارسال داده به سرور در پسزمینهی سایت
مهمترین معایب ایجکس
- استفاده از درخواست xmlhttp که ممکن است توسط برخی از مرورگرها پشتیبانی نشود.
- اجرا نشدن دستورات AJAX درصورتی که جاوا اسکریپت مرورگر توسط کاربر غیرفعال شده باشد.
- دشواری بیشتر در اشکالزدایی و تست برنامههای ایجکس
- فریم ورک های ای جکس چه قابلیت هایی دارند؟
اینکه استفاده از یک فریم ورک ای جکس چه قابلیتهایی در اختیار مان قرار میدهد شاید به نوعی هدف و ضرورت استفاده از آن را مشخص میکند، همان طور که در مقدمه این مطلب ذکر شد برای کاربردهای معمول و استفادههای عادی شاید استفاده از فریم ورک ها آن هم در شرایط سرعت و کیفیت پائین اتصال اینترنت کاربر کار درستی نباشد و موجب به دردسر افتادن خیلی از کاربران شود، اما برای پروژه های بزرگ که نیاز به هماهنگی بین اعضای گروه وجود دارد یا اگر انجام کارکردهای خاص و زمانبر در مدت زمانی کوتاه مد نظر است میتواند گزینه ضروری و مناسب تلقی شود، شیوههایی وجود دارد که با آن میتوانیم از فریم ورک های پرکاربرد استفاده کنیم تا با یک بار بارگذاری فایل ها در حافظه مرورگر دیگر کاربر برای بازدید از سایتهای دیگر با فریم ورک مشابه زمان انتظار و مصرف ترافیک اینترنت اضافه نداشته باشد.
پرکاربردترین فریم ورک ها و کتابخانههای ایجکس
اینکه برای کار با ای جکس از چه فریم ورکی باید استفاده کنیم مسئله بسیار مهمی است چرا که انتخاب اشتباه می تواند دوباره کاری های زیادی را سبب شود و آرامش ما را بر هم زند! به همین دلیل توصیه میشود از فریم ورک هایی استفاده کنیم که شناخته شده، پرکاربرد و به روز باشند، در زیر لیستی جهت نمونه ارائه میشود.
کتابخانه ایجکسی مایکروسافت
برای کسانی که به زبان ASP.NET برنامه نویسی می کنند امکانات بسیار خوبی در زمینه متدهای ای جکس و کتابخانه های از پیش طراحی شده توسط شرکت مایکرسافت ارائه شده است که در آدرس
asp.net/ajax
قابل دسترسی است.
سایر فریم ورک های ایجکس
در پایان این مطلب بد نیست اشاره ای داشته باشیم به سایر فریم ورک های مرتبط با ای جکس از جمله کتابخانه Mootools در آدرس
mootools.net
کتابخانه Prototype در آدرس
prototypejs.org
Prototype یک کتابخانه جاوا اسکریپت است که یک API ساده برای انجام کارهای معمول وب فراهم میکند.
API مخفف عبارت Application Programming Interface (رابط برنامه نویسی کاربردی) است و کتابخانهای از ویژگیها و متدها برای دستکاری DOM HTML است.
Prototype جاوا اسکریپت را با ارائه کلاسها و وراثت، توسعه میدهد.
Script.aculo.us – یک کتابخانه جاوا اسکریپتی مرتبط با فریم ورک Prototype
و همچنین کلاس (در حال تکمیل شدن) Tiny Ajax برای PHP در آدرس
codeigniter.com/wiki/TinyAjax
به نظر می رسد W3C با توسعه آبجکت XMLHttpRequest در نسخه های بعدی نیاز به استفاده از فریم ورک ها را به حداقل ممکن کاهش خواهد داد.
فریم ورک Ext.Net
Ext.Net
Ext.Net یک پیاده سازی خاص از فریم ورک ExtJs است که برای توسعه پروژههای Asp.Net Web Forms و Asp.Net MVC طراحی شده است و تحت سیستم عامل جاوا اسکریپت میباشد. تفاوت اصلی بین این دو محصول در نوع کدنویسی برای استفاده در پروژههای Asp.Net است. برای مثال در هنگام کار با Ext.Net و پروژههای MVC از آنجا که این محصول سازگاری کامل با موتور Razor دارد به راحتی میتوانید به صورت سینتکس Razor صفحات خود را طراحی کنید.
شرکت sencha فریم ورک Ext JS را ساخت و ارائه داد تا ایجاد وب اپلیکیشن هارا راحتتر، سریعتر و جذابتر کند، شما با استفاده از امکانات فریم ورک Ext JS برنامه های قدرتمند تحت وب میتوانید بسازید که هم از نظر ظاهر و هم از نظر مکانیزم کار شباهت بسیار زیادی به نرم افزارهای سیستم عاملی دارند. Ext JS با داشتن کامپوننت های UI بسیار قوی و همچنین پشتیبانی از معماریهایی همچون MVC , MV و … ساخت هر گونه برنامه را در وب برای کاربران فراهم کرده است.خروجی فریم ورک Ext JS با هیچ فریم ورک دیگری قابل مقایسه نیست.
به یاد داشته باشید که استفاده از فریم ورک در آژاکس اگرچه به خودی خود یک ضرورت نیست، اما برای کسانی که مخصوصا به جلوههای ظاهری اهمیت زیادی میدهند و سرعت، استحکام و سبکی کار در درجه دوم برایشان قرار میگیرد، میتواند بسیار رهگشا باشد.
الان وقتشه!
جهت مشاوره و ساخت طراحی سایت حرفه ای و بهینه سازی سایت و تولید محتوا تماس بگیر
نویسنده
مدیر سایت
حمیده عابدی کارشناس کامپیوتر رشته نرم افزار هستم و مشغول کار در در زمینه طراحی سایت با وردپرس و آشنا به سئو و بهینه سازی سایت، تولید محتوا، برنامه نویسی HTML, CSS هستم.