اپلیکیشن‌های(برنامه‌های کاربردی) اینترنتی غنی شده

اپلیکیشن‌های(برنامه‌های کاربردی) اینترنتی غنی شده

 شاید شما تجربه برنامه نویسی با جاوا اسکریپت، برنامه نویسی AJAX یا برنامه نویسی های RIA رو داشته باشید. یا حداقل سایت‌هایی از این قبیل را دیده‌اید.

به طور کلی به نرم افزارهای وبی که دارای ویژگی‌هایی شبیه نرم افزار های دسکتاپی هستند Rich Internet Application یا اپلیکیشن‌های اینترنتی غنی شده می‌گویند.

نرم افزارهای دسکتاپی نرم افزارهایی هستند که روی محیط سیستم عامل شما نصب و اجرا می‌شوند و دارای محیط گرافیکی و جلوه‌های مختلف هستند. مثلا فتوشاپ یا یاهو مسنجر نرم افزار دسکتاپی هستند.

از این ویژگی‌ها می‌توان به سرعت بالای پاسخ دهی نرم افزار، وجود جلوه‌های مختلف، حرکت‌ها و انیمیشن‌های شئ‌ها و… اشاره کرد.

 اپلیکیشن‌های اینترنتی غنی شده‌ى ِاشتراک بین اپلیکیشن‌های وبی، اپلیکیشن‌های دسکتاپی و تکنولوژی ارتباطات هستند. یعنی مفاهیم ارتباطات در این اپلیکیشن‌ها به وفور دیده می‌شود. از اینگونه اپلیکیشن‌ها می‌توان به سایت FaceBook به عنوان یک اپلیکیشن قوی RIA نام برد.

 در گذشته(و در حال حاضر) برای تولید این نوع اپلیکیشن‌ها از پلاگین‌ها ، ماشین‌های مجازی یا سندباکس ها ی مختلف مثل Adobe Flash ، Adobe Flex ، Adobe Air ، Java ،JavaFx ،Curl، UniPaas، Microsoft SilverLight و انواع مختلف ActiveX ها و… استفاده می شد- که هرکدام احتیاج به نصب شدن روی مرورگر کاربر را داشتند و خیلی از کاربران به دلیل پیچیده بودن پروسه نصب، عطای نصب را بر لقای آن می‌بخشیدند و در نتیجه آن اپلیکیشن، کاربران‌ش را از دست می‌داد. هر چند آن دسته از کاربرانی هم که این نرم افزار را نصب می‌کردند با محدودیت‌های خاصی که اپلیکیشن داشت دردسرهای زیادی برای‌شان ایجاد می‌شد.

 برای همین وقتی داشتند به پیشرفت HTML و جاوا اسکریپت و CSS فکر می کردند، به این فکر افتادند که چکار کنند که قسمتی از این کارهایی که با پلاگین ،ماشین مجازی یا سند باکس انجام می شود را به مرورگر هم بفهمانند تا سایت‌هایی که از پلاگین استفاده نمی‌کنند یه مقدار پویاتر شوند و بتوانند حرکت و زیبایی را به وب سایت خود اضافه کنند و خلاصه کاربر پسندتر شوند.

این فعالیت ها باعث بوجود آمدن مفاهیم و تکنولوژی‌هایی جدیدی شد که از تاثیرگذارترین آن‌ها AJAX بود.

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

بوجود آمدن آژاکس باعث شد که صفحات وب بیشتر شبیه نرم افزارهای دسک تاپ شوند و روش های جدیدی در تولید اپلیکیشن‌های وبی غنی شده بوجود آمد.

 نکته‌ای که در تولید اپلیکیشن‌های وبی غنی شده بسیار مهم است این است که این اپلیکیشن‌ها باید Cross-Brower باشند یعنی در اکثر مرورگر ها قابلیت اجرا داشته باشند و به یک شکل اجرا شوند. مثلا کدی که در فایرفاکس اجرا می شود به همان شکل در اینترنت اکسپلورر اجرا شود.

 اکثر برنامه نویس‌های وب می‌دانند که تولید نرم افزار وب Cross-Browser چقدر پیچیده است و احتیاج به تجربه بالایی دارد. برای تولید اپلیکیشن‌های اینترنتی غنی شده که احتیاج به پلاگین ندارند از روش‌های مختلفی استفاده می‌شود ولی استفاده از جاوا اسکریپت ، CSS و HTML در میان همه آن‌ها مشترک است.

بسیاری از شرکت ها فریم ورک ها و کتابخانه‌هایی را تولید کردند که با آن‌ها بتوان راحت‌تر و سریع‌تر به تولید چنین اپلیکیشن‌هایی پرداخت.

از میان آن‌ها می‌توان به موارد زیر اشاره کرد:

Dynamic Drive CSS Library

Yahoo! User Interface

Google Web Toolkit

Dojo Toolkit

Script.aculo.us

jQuery

در این مقاله قصد داریم به معرفی فوایدی که اپلیکیشن‌های(نرم افزار های کاربردی) RIA دارند بپردازیم.

استفاده مفید گوگل از اپلیکیشن های اینترنتی غنی شده

فواید اپلیکیشن‌های اینترنتی غنی شده

با دانستن فوایدی که این اپلیکیشن‌ها دارند، درک بهتری از این اپلیکیشن‌ها پیدا می‌کنیم و به راحتی می‌توانیم کاربرد آن‌ها را شناسایی و در طراحی از آن‌ها استفاده کنیم.

 اپلیکیشن‌های RIA در مقایسه با صفحات HTML ساده، بسیار کاربردی‌تر و کاراتر هستند آنها با ارائه دادن محیطِ کاربری غنی و ویجت‌های کاربر پسند مثل : بکش و بنداز ( Drag & Drop)، نوار لغزنده برای تغییر در داده‌ها( Slider )، درخت‌ها و محاسباتی که توسط کلاینت کاربر انجام می‌شود(و احتیاج به فرستادن داده به سرور را ندارد)، محیطی کاربر پسند را برای کاربران فراهم می‌کنند.

رفتار واسط کاربری(Interface) این اپلیکیشن‌ها نیز در مقایسه با اپلیکیشن‌های وب کلاسیک، بسیار پاسخگوتر و سریع‌تر است و این سرعت به خاطر استفاده از مزیت های موتور ترجمهِ مرورگرِ کاربر به عنوان بخشی از اپلیکیشن است.

استفاده از مرورگر کاربر برای محاسبات خود فوائدی دارد مثل:

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

اپلیکیشن وب امکان آن را خواهد داشت تا ارتباطات نامتقارنی(در مقاله‌های بعدی به تقسیر در مورد ارتباط نامتقارن خواهیم پرداخت) بدون اینکه کاربر واقعه‌ای مثل کلیک کردن روی دکمه یا لینک را ایجاد کند، با سرور برقرار کند، در نتیجه طراح اپلیکیشن اینترنتی غنی شده آزاد است تا هر چقدر دوست دارد داده بین کلاینت و سرور بدون معطل کردن کاربر رد و بدل کند.

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

برای نمونه فرض کنید کاربر وارد گالری عکسی شده است و در حال مشاهده عکسی است، در همین حال کلاینت کاربر در حال بارگزاری عکس بعدی است تا وقتی کاربر روی دکمه عکس بعدی کلیک کرد بدون معطلی عکس بعدی نمایش داده شود. سیستم نقشه های گوگل از این تکنولوژی به خوبی استفاده می کند.

البته باید در نظر گرفت که در صورتی که اپلیکیشن به صورت اشتباه حدس بزند چه داده‌ای را به صورت پنهان برای کاربر بارگزاری کند، باعث ایجاد بار اضافه برای سرور می‌شود. در نتیجه طراحی این‌گونه نرم افزارها باید به صورت کاملا هوشمندانه انجام شود.

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

 فرض کنید اپلیکیشنی موجود است که قیمت سهام های بورس اوراق بهادار تهران را نمایش می‌دهد، در صورتی که از صفحات کلاسیک وب استفاده کنید باید به طور متناوب صفحه Refresh شود تا آخرین قیمت ها را داشته باشیم، و گاهی نیز ممکن است که قیمت سهامی تغییر نکرده باشد و ما اطلاعاتی که قبلا داشته ایم را دوباره گرفته ایم، که هم ترافیک شبکه خود را بالا برده ایم،‌ هم باری را به سرور منتفل کرده ایم.حالا فرض کنید همین اپلیکیشن را با استفاده از RIA طراحی کرده ایم، با استفاده از طراحی هوشمندانه و استفاده از تکنولوژی های به روز می‌توانیم سیستم را جوری پیاده سازی کنیم که فقط زمانی که یک سهام تغییر قیمت داد تنها اطلاعات آن سهام را به کلاینت کاربر بفرستد(به این تکنولوژی اصطلاحا HTTP Server Push یا Reversal Ajax می گویند که در آینده به این تکنولوژی ها هم می پردازیم)، این باعث می شود که تنها قسمتی از داده (Chunk Of Data) در شبکه منتقل شود و اطلاعات نیز همواره بروز است و ترافیک کمتری در شبکه به وجود می آید.

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

یک دیدگاه در “اپلیکیشن‌های(برنامه‌های کاربردی) اینترنتی غنی شده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *