open/close search
Iranian Developers / logo
ارتباط با ماOpen Source projectsسایتهـــای مــرتبطهمه نکات مهم بهترین های ایرانخارج از محدودهمقالات و تجربیاتAbout Iranian Developers
articles
title pic

برنامه های مترقی اینترنتی RIA و دوراهی ادوبی و آژاکس

اینکه حیقتا کدام گزینه برای طراحی و اجرای برنامه و یا وب سایت شما می تواند راهگشا باشد چیزی نیست که به راحتی بتوان به آن پاسخ داد چرا که در بسیاری از موارد طراحان تنها بر اساس تجربه و دانشی که دارند تصمیم و شروع به کار خواهند کرد و اصولا کمتر نمونه یا نمونه هایی را می توان یافت که یک طراح با تجربه در Ajax زمانی که به Flex نیاز داشته باشد سراغ یک فلکس کار برود و حتی اگر بداند که اجرا این پروژه در Flex بهتر خواهد بود باز هم بر همان Ajax تکیه خواهد زد و البته همین نکته برای توسه دهندگان تحت Flex و Flash قابل تعمیم می باشد .

وقتی بحث طراحی و توسعه برنامه های مترقی تحت وب ( RIA ) به میان می آید همیشه طراحان بر سر دوراهی Ajax و Adobe ، قرار می گیرند تا بر اساس نیاز و تجربه یکی از این دو راه حل را به عنوان پایه کاری خود انتخاب کنند و ساختار برنامه اجرایی خود را بر اساس آن پی ریزی نمایند . اگر چه شاید اینجا در ایران به دلایل مختلف از پرداخت هزینه ها توسط کارفرما گرفته تا راحت طلبی طراحان ، این بحث جایی برای چالش نداشته باشد و همیشه در راحت ترین شکل ممکن بدون توجه به کیفیت و نیاز پروژه ، برنامه اجرا خواهد می شود اما برای مقایسه ای کلی بر اساس خصوصیات ، توانمندی و قدرت هر کدام نگاهی گذار به هردو خواهیم داشت .
مقایسه Flash و Flex با Ajax را پیش رو نداریم بلکه به خصوصیات کلی هر کدام در اجرای برنامه های مترقی وب یا RIA خواهیم پرداخت چرا که مبحث تفاوتها و تشابهات در عملکرد و برنامه نویسی چیزی نیست که اینجا اهمیت پیدا کند و تنها مسئله ساختار اجرایی و توانمندیهای قابل گسترش هر کدام در دنیای وب برای ما حائز اهمیت خواهد بود .
Ajax برای گسترش انچه امروزه از دنیای وب در ذهن بسیاری از کاربران جای دارد گزینه مناسبی به نظر می رسد چرا که در حداقل اطلاعات ، کاربر شناختی هر چند سطحی از عملکرد و ساختار HTML خواهد داشت و برای پروژه ای که دنبال یک ساختار متداول و افزایش نمو خود بر اساس استانداردهای متداول وب باشد Ajax مطمئنا غنای عملکرد و تعامل اجزای صفحات را در بر خواهد داشت .
در جهت دیگر Adobe و تکنولوژِی Flash برای انتقال یک تجربه متفاوت و یا طرح ریزی ساختار متفاوت از عملکرد برنامه و انتقال کامل آن حس و یا تجربه به کاربر ، قابل توجه خواهد بود ، چرا که ساختار Ajax هرگز نمی تواند از قالب متداول و معمول خود خارج شود و نوع عملکرد تکنولوژی فلش را تقلید و اجرا کند . باز بودن دست طراح در اجرای ایده های مختلف ، کنترل راحت تر اجزاء ، قدرت گرافیکی انیمیشنی بالاتر و ... به راحتی ایده ، حس و یا تجربه مورد نظر طراح را به کاربر منتقل خواهد کرد .
َAjax با توجه به ساختار متداول و یکسان خود ، موجب پدیدار شدن پروژه های OpenSource و فریم ورکهای زیادی شده است که از GWT گرفته تا YUI همگی برای طراحان می تواند صرف جویی در وقت و هزینه را به همراه داشته باشد حتی Adobe که از نظر نوع تکنولوژی در جهت مخالف قرار می گیرد نیز با Spry و جای دادن آن در DreamWeaver CS3 عملا سطح نیاز طراحان تکنولوژی Ajax را برای دوباره کاری و صرف وقت تا حد زیادی کاهش می دهد .
اما وقت بحث استفاده از تکنولوژی Flash به میان می آید Flex و پلتفرم Flash را پیش رو داریم و کمتر پروژه OpenSource و این یعنی همه کار از پایه برای ساخت و اجرای تجربه ای متفاوت و گسترش ایده ای نو .

Ajax گذرگاه کوچکی برای ساخت Interface مترقی :

tc images

طراحانی که به دنبال یک راه حل سریع برای رسیدن به ساختار بهتری در Interface برنامه هستند Ajax را بر اساس دلایل زیر انتخاب کنند :

  • • برنامه نویسانی که تجربه کافی از Ajax دارند می دانند که انتخاب Ajax برای یک پروژه یعنی تغییر خصوصیات و الگوی کار و نه تغییر کامل ساختار برنامه و پایه برنامه نویسی
  • • آزاکس یعنی javaScript با XML و به راحتی می توان یک پروژه HTML و یا DHTML ساده که قبلا طراحی شده است را با Ajax و یا اجزاء Ajax تبدیل به پروژه ای مترقی و با تکنولوژی Ajax تبدیل کرد .
  • • آزاکس از نظر سرعت در ارسال و دریافت data می تواند بسیاری از تکنولوژی های دیگر را پشت سر بگذارد و این مسئله با توجه به نمونه های که jackBe و BackBase برای مشتریان خود اجرا کرده اند کاملا محسوس است .

اما با تمامی این خصلت ها اجرای یک پروژه در Ajax بدون شناخت کامل آن و مدیریت صحیح می تواند مشکلات زمانی و هزینه بیشتری را نیز در بر داشته باشد .

  • • به راحتی می توان در انتخاب FrameWork برنامه با این تعددی که شاهد هستیم دچار اشتباه شد چرا که بیش از یک دوجین فریم ورک برای Ajax داریم که هیچکدام شبیه دیگری نیست و هر کدام برتری خاص خود دارند و البته مشکلات خاص خود . این بدین معناست که طراح مجبور است علاوه بر تست کیفیت و سرعت عملکرد ، پشتیبانی از استانداردها و قدرت همکاری با دیگر سرویسها و البته امنیت را نیز امتحان کنند .
  • • انتخاب یک محیط برنامه نویسی برای Ajax سخت است چرا که IDE هایی که Ajax را پشتیبانی می کنند معمولا framework های مختلفی را نیز پشتیبانی می کنند و اگر شما فریم ورک خاصی را در نظر داشته باشید مجبورید قید IDE را بزنید و یا اینکه به فریم ورکهای که توسط IDE پشتیبانی می شود قناعت کنید .
    عملکرد Ajax در تمامی مرورگر ها یکسان و شبیه هم نیست و شما مجبورید برای تمامی مرورگرهای متداول وقت بگذارید و عملکرد برنامه را تست زده و تغییرات مورد لزوم را اعمال کنید
  • • بر اساس گزارش W3C بیش از 10% از مرورگرهای کاربران اینترنت به صورت Disable javascript و یا غیر فعال بودن جاوا اسکریپت به صفحات وب سایت شما دسترسی پیدا می کنند و در صورتی که این 10% برای شما مهم باشد مجبورید برنامه خود را در حالت غیر فعال بودن جاوا اسکریپت نیز امتحان و پشتیبانی کنید و این یعنی باز هم صرف وقت .

اگر چه مبحث انواع frameWork در تکنولوژی Ajax نیز خود قابل بسط و گسترش می باشد اما جهت اختصار مطلب، از آن صرف نظر می کنیم .


Adobe و قدرت مطلق در اجرای ایده های نوین

tc images

انتخاب Adobe برای تکنولوژی مورد استفاده در RIA می تواند انتخابی قدرتمند و مطمئن باشد چرا که ادوبی فریم ورک FLEX را با Flash Platform و پلاگین همگانی آن تلفیق کرده است و طراحی و ساخت RIA را عملا به شکلی ساده تر ممکن نموده است . معمولا مدیران و یا طراحان برتر که به برنامه های تجاری Ajax و یا FrameWork های OpenSource ساده روی خوشی نشان نمی دهند و اعتماد کافی ندارند ، Flex و Flash را به عنوان راه حلی موثر و مفید انتخاب خواهند کرد .

  • • وقتی فلش روی سیستم کاربر نصب باشد عملا همه چیز برای نمایش و اجرای برنامه با تکنولوژی فلش مهیاست و شرط و پیش شرطی در کار نخواهد بود و بر عکس Ajax دیگر مرورگر و تنظیماتی مثل فعال بودن جاوا اسکریپت مهم نیست .
  • • فریم ورک Flex در برنامه های بزرگ تجاری ( large-scale RIAs ) بسیار خوب عمل می کند و چرا که معمولا ساختار اینگونه برنامه ها بر اساس انتقال دیتا و اطلاعات در حجم عظیم صورت می پذیرد که Flex عملا قدرت دریافت و ارسال اطلاعات را در کوتاه ترین زمان ، ممکن ساخته و قدرت مدیریت کامل این داده ها را در بر دارد .
  • • ادبی سرمایه گذاری سنگینی بر روی Flex انجام داده است که در دراز مدت نتایج آن مشخص و قابل لمس خواهد بود و الان هم نسخه به نسخه آشکارا محسوس است و پشتیبانی آن مانند Ajax از چند گروه سازنده FrameWork به صورت OpenSource تشکیل نشده است. پشتیبانانی که اکنون هستند و فردا مشخص نیست و حتی در همین حضور کنونی خود با همدیگر متحد نمی شوند .
  • • شکل عملکرد و ساختار Flex و Flex Builder به گونه ای است که در یک گروه از طراح و برنامه نویس سطح همکاری گروهی، سرعت اجرای پروژه و تغییر در اسکلت و گرافیک کار به شدت افزایش یافته و چهره کلی یک پروژه توسعه یافته تحت Flex در عرض چند ساعت کلا قابل تغییر است .

بازهم با تمامی این دلایل Adobe و راه حلهای آن به تمام معنا کامل نیستند چرا که :

  • • چه در کشور ما و چه در کشور های خارجی پیدا کردن Flex کاران خوب و به کارگیری آنها نسبتا مشکل است و همین مسئله خودش موجب افزایش قیمت در اجرای پروژه های Flex می شود که مطمئنا این گزینه در ایران ، گزینه بسیار مهمی است .
  • • اگر کاربر بر روی مرورگر خود Flash Player را نصب کرده باشد باز هم این احتمال وجود دارد که ورژن آن با ورژن مورد نیاز با برنامه ما تطابق نداشته باشد و حتی اگر پیشنهاد به روز رسانی و Upgrade را به کاربر ارایه کنیم در 50-60% موارد صرف نظر خواهد کرد و وب سایت را خواهد بست .

در نهایت اینکه حیقتا کدام گزینه برای طراحی و اجرای برنامه و یا وب سایت شما می تواند راهگشا باشد چیزی نیست که به راحتی بتوان به آن پاسخ داد چرا که در بسیاری از موارد طراحان تنها بر اساس تجربه و دانشی که دارند تصمیم و شروع به کار خواهند کرد و اصولا کمتر نمونه یا نمونه هایی را می توان یافت که یک طراح با تجربه در Ajax زمانی که به Flex نیاز داشته باشد سراغ یک فلکس کار برود و حتی اگر بداند که اجرا این پروژه در Flex بهتر خواهد بود باز هم بر همان Ajax تکیه خواهد زد و البته همین نکته برای توسه دهندگان تحت Flex و Flash قابل تعمیم می باشد .

نکته اینجاست که برنامه های مترقی تحت وب به کاربر قدرت تعامل بالا ، پاسخ گویی سریع ، ابزارهای چند رسانه ای ، کنترل کامل دیتا و تجربه ای نوین را ارزانی می کند که هم Ajax و هم راه حلهای ادوبی (Flex و Flash) موارد خاص خود را برای ارایه اینها به کاربر دارد و پاسخ قاطعی برای برتری هیچ کدام وجود ندارد شاید آینده و نحوه پیشرفت هر کدام و مهمتر از همه علاقه کاربران ، تکنولوژی برتر را مشخص نماید .

irdevs
Tag کلمات کلیدی برای این نوشته :
comment
  1. Author
    IrDevs / star
    آبان 19, 1387 | 1:50 ب.ظ

    ممنونم

  نام
نام  نـام
  پست الکترونیکی
پست الکترونیکی  پست الکترونیکی
  آدرس وب سایت
آدرس وب سایت  آدرس وب سایت
Height