هرز نوشته های یک توسعه دهنده

نقاط ضعف AJAX

می 26, 2008 · 2 دیدگاه

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

در اینجا ، برخی از مهمترین نقاط ضعف این فن آوری رو که در صورت تمایل به توسعه کاربرد تحت وب ، باید با اونها آشنا باشید رو عنوان می کنم:

1- عدم کارکرد صحیح دکمه Back: استفاده از AJAX عملا کارکرد این دکمه رو زیر سوال می برد.چون صفحه بطور کامل بازسازی نمی شود در نتیجه شما نمی توانید با استفاده از این دکمه ، اطلاعات مربوط به قبل از انجام یک عمل یا کلیک بر روی یک دکمه مبتنی بر AJAX را مشاهده کنید.گرچه توسعه دهندگان تلاش میکنند با استفاده از Session Management برخی از این ضعف ها رو جبران کنند اما در اینصورت هم مشکلات امنیتی بوجود خواهد آمد که نهایتا بسیار با احتیاط می توانیم از روشهای جایگزین استفاده کنیم.از طرفی ، امکان غیر فعال کردن دکمه ها مانند دکمه Back توسط برنامه نویس وجود ندارد.

2- مشکلات آماری : استفاده از AJAX در کاربرد تحت وب ، مشکلات فراوانی را برای محاسبات آماری یا Web Statistics بوجود می آورد ، چرا که روشهای موجود دریافت آمار از سایتها مبتنی بر محتویات HTML آنها بوده ، در حالیکه در روش AJAX عملا در HTML این اطلاعات وجود نداشته و در قالب یک تراکنش بین سرور و کاربر ، تغییرات برای کاربر نمایش داده می شوند.لذا سرویسهای آماری ارائه شده توسط سایتهایی مانند Google و یا سایتهای مشابه ، در این مورد با اختلال و نارسایی آماری مواجه هستند.

3- مشکل برای SEO: مشکل آمار ، بدلایلی که گفته شد ، موضوع Search Engine Optimization را هم متاثر می کند و علت اصلی هم ، عدم وجود محتویات و یا تغییرات کارکرد در HTML هست.

4- عدم تغییر Address Bar: کار با دکمه هاییکه مبتنی بر AJAX در صفحات وب نوشته شده اند ، باعث می شود که هیچ تغییری در آدرس موجود در Address bar ایجاد نگردد.لذا امکان نگهداشتن یک لینک از صفحه ای که در حال مطالعه آن بوده و پس از کلیک بر روی یک دکمه مبتنی بر AJAX آنرا دیده اید ، وجود ندارد.این موضوع ناقض یکی از اصول پدیده وب 2 می باشد که درآن تلاش می شود تا امکان به اشتراک گذاری لینک ها و Bookmarking تسهیل گردد.

5- استفاده از AJAX باعث Memory Leak شده که نهایتا منجر به Halt نرم افزار Browser می گردد.برخی از سایتهای مبتنی بر AJAX گاهی باعث مصرف تا 1 گیگابایت رم توسط براوزر شده و اینکار بخودی خود علیرغم آنکه AJAX جهت افزایش سرعت کاربری طراحی گردیده ، سرعت را بشدت کاهش می دهد.نه تنها سرعت پیمایش صفحات ، بلکه سرعت کل سیستم عامل!

قابل ذکر است که شرکتهای توسعه دهنده فن آوریهای نرم افزاری ، در حال مطالعه و یافتن راهکارهای حل مشکلات AJAX هستند و بعنوان نمونه شرکت گوگل در کیت جدید توسعه خود GWT امکان استفاده از دکمه Back را پشتیبانی می کند که البته مبتنی بر Session بوده و هنوز دارای مشکلاتی هست.امیدوارم بزودی تمامی مشکلات این فن آوری برطرف گردد و براحتی سیستمهای Desktop بتوانیم توسعه نرم افزارها رو انجام بدیم.

دسته‌ها: برنامه نویسی/کد نویسی یا توسعه

2 جواب تا اینجا

  • یاسین الوندی // ژوئن 7, 2008 در 4:52 ب.ظ | پاسخ

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

  • Dr.A.B.C // ژوئن 7, 2008 در 5:33 ب.ظ | پاسخ

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

نوشتن دیدگاه