تطبيق إنترنت غني
تطبيق إنترنت غني أو قوي (بالإنجليزية: Rich Internet applications) تسمى أحيانا التطبيقات التي يتم تركيبها عن طريق الإنترنت ( Installable Internet Application ) وهي تطبيق ويب تمتلك مميزات وقدرات تطبيقات الحاسب الشخصي ( Desktop Applications ) .ويتم التواصل معها عن طريق متصفحات خاصة بمصدر واحد ( Site-specific browser ) أو إضافات المتصفحات ( Plug-ins ) أو الاستخدام المنتشر للجافا سكريبت أو الساند بوكس ( sandbox ) ، أو النظام الإفتراضي ( Virtual machine )[1] ، المنصات الثلاثة الأكثر شيوعا حاليا هم أدوبي فلاش ( Adobe Flash ) وجافا فكس ( JavaFX ) ومايكروسوفت سيلفرلايت ( Microsoft Silverlight ) وتستخدم مع متصفحات سطح المكتب بنسب 96 في المئة 76 في المئة و 66 في المئة على التوالي ( (في أغسطس 2011 ) .[2]
تظهر إحصائيات جوجل تريندز ( في سبتمبر 2012 ) أن الأطر ( Framworks ) المبنية على إضافات ( Plug-ins ) في طريقها للإستبدال ببدائل إتش تي إم إل 5 ( HTML5 ) وجافا سكريبت .[3][4]
يحتاج المستخدمون عادة لتثبيت إطار البرنامج باستخدام نظام التشغيل للكمبيوتر قبل البدء في التطبيق، عادةً يشكل RIA تطبيقات زبائن بطبقات خدمة منفصلة على الـ Back-End .
نبذة تاريخية
[عدل]التطبيقات الشبكية التقليدية تركز أعمالها حول هندسة الزبون/المخدم ( Client \ Server ) مع العميل نحيف (Thin Client ) و بهذا النظام تنفذ كل العمليات على المخدم، والزبون يُستخدم لإظهار النتائج بطريقة غالباً تكون HTML . أكبر سيئات هذا النظام أن كل تفاعل مع التطبيقات يجب أن يمر من خلال المخدم مما يتطلب إرسال المعطيات إلى المخدم واستجابة المخدم وإعادة الصفحة إلى الزبون من أجل الاستجابة .
من خلال RIA و تقنيات جهة المستخدم يمكن تنفيذ التعليمات على حاسب المستخدم والاستغناء عن دائرة المزامنة . الصفة المشتركة للصفحات التي تستخدم RIA أنها تقدم طبقة وسيطة من الكود تدعى غالباً بمحرك المستخدم Client Engine بين المستخدم والمخدم .
يعمل هذا المحرك كامتداد للمستكشف وغالباً ما يأخذ المسؤولية في إظهار واجهات المستخدم للتطبيق والاتصال مع المخدم .
استخدم تعبير RIA لأول مرة من قبل شركة Macromedia عام 2000 ولكن هذا المفهوم تواجد سابقاً تحت أسماء عديدة وهي : - Remote Scripting من شركة Microsoft عام 1998 . - X Internet من شركة Forrester Research في عام 2000 . - Rich Clients . - Rich Web Application .
فوائد استخدام RIA :
باعتبار أن تطوير التطبيقات التي تعمل على المستكشف أكثر محدودية وبحاجة إلى عملية تفاعل وأصعب من تطوير التطبيقات العادية وبالتالي نجد :
'فوائد الـ Web Application بالمقارنة مع التطبيقات العادية :
- التحديث والتطوير (الترقية ) لنُسخ ( Verions ) أحدث يمكن أن تحصل بشكل آلي .
- وأن تكون مخفية للـ End User .
- يمكن للمستخدم استخدام التطبيق من أي حاسب متصل مع الانترنيت .
- توجد العديد من الأدوات التي تسمح باستخدام التطبيق بدون اتصال مثل :
Google Gears و Curl و تقنيات أخرى .
- معظم تقنيات الـ RIA تسمح للمستخدم بالعمل بغض النظر عن نظام التشغيل الذي يستخدمه .
فوائد RIA بالمقارنة مع الـ ( Web Application ) :
- أغنى (Richer ) : يمكن أن يقدم الـ RIA سلوك لـ واجهات المستخدمين والذي لا يمكن الحصول عليه من خلال HTML فقط والذي تعتمد عليه التطبيقات الشبكية .
هذا الغنى بالتوابع يمكن أن يتضمن كل شيء يمكن تحقيقه ( Implementing )في هذه التقنية واستخدامه في طرف المستخدم حتى ميزة Drag and Drop .
- أكثر استجابة More Responsive :إن سلوك الواجهات الطبيعي أكثر استجابة من المستكشف القياسي الذي غالباً يكون بحاجة للتواصل مع المخدم .
- التوازن بين المخدم والزبون حيث نستفيد من موارد الزبون .
- تزامن الاتصال (Asynchronous Communication) :
إن محرك الزبون (client Engine ) يتفاعل مع المخدم بدون انتظار المستخدم، مما يسمح للمطورين باستخدام الـ RIA للتحكم بالنقل بين المخدم والزبون بدون الحاجة إلى انتظار الزبون . - فعالية الشبكة ( Network Efficiency ) يمكن تقليص انشغالية الشبكة بشكل كبير وذلك لأن محرك المستخدم أذكى من المستكشف القياسي ويمكنه تحديد المعطيات التي هو بحاجة إلى تبادلها مع المستخدم . الممنوع والمسموح في التعامل مع RIA :
- Sand Box :
لأن RIA يعمل ضمن صندوق الرمال فهو محدود الوصول إلى موارد النظام .
- Enabled Scripting( تفعيل الـ Script ) :
إذا ألغى المستخدم إمكانية الـ Script في المستكشف فسيفشل حتماً الـ RIA في التنفيذ .
- سرعة معالجة الزبون :
للوصول إلى قاعدة ذاتية platform لا تعتمد على أحد برامج الـ RIA ( تعتمد على Script) في طرف المستخدم مكتوب بـ لغة مفسرة مثل Java Script ، وذلك على حساب خسارة جزء من الأداء .
- زمن تحميل الـ Script:
بالرغم من أن الـ Script ليس بحاجة إلى تنصيب إلا أن تطبيقات RIA بحاجة إلى إيصال المعلومات من المخدم إلى الزبون وذلك قد يستغرق وقت طويل .
- خسارة رؤية محركات البحث :
يمكن لمحركات البحث أن تعجز عن الوصول إلى دليل محتويات النص في التطبيق .
- الاعتماد على الاتصال مع الـ Internet :
لا يمكن لـ RIA وحده العمل دون اتصال فهو بحاجة لقاعدة خاصة مثل Adobe Air أو غيرها للعمل .
- الاعتماد على عرض الحزمة :
يمكن أن لا يعمل الـ RIA بالطريقة المطلوبة في حال العمل ضمن حزمة ضيقة .
- الوصولية :
هناك العديد من القضايا المتعلقة بالوصوليات في الـ RIA وأكثرها وضوحا حقيقة أن قارئي الشاشة يعانون من الصعوبات في اكتشاف التغيرات الديناميكية التي تحصل في محتويات HTML . يُستخدم واي-أريا لحل هذه المشكلة وكذلك يقدم طريقة لإضافة دور خطير Critical Role.
- بشكل عام الـ RIA لا يمكنها الانتشار بالطريقة التقليدية للتطبيقات العادية وتوجد بعض الاستثناءات .
- فيما يتعلق بالأمان ( Security ) توجد عدة أطر عمل تزود المستخدم بالوصول إلى نظام التشغيل المحلي أكثر من التقنيات القديمة المبني عليها .
هذه الإضافة في أيدي المطورين تعطي تطبيقات RIA القدرة على إنشاء أو تفعيل نقاط ضعف شبكية تقليدية مثل : Cross Site Scripting و التي تستخدم للهجوم على المستخدمين ومن المحتمل انتشار الفيروسات .
مراجع
[عدل]- ^ RIA War Is Brewing
- ^ "Rich Internet Application Market Share", Data from StatOwl. http://www.statowl.com/custom_ria_market_penetration.php نسخة محفوظة 6 أكتوبر 2011 على موقع واي باك مشين. -- StatOwl data is from ~28m unique visitors per month.; This data is consistent with that reported from RIAStats.com, which is based on ~4m daily visitors http://riastats.com/. These statistics clearly indicate consistent evidence that Flash, Silverlight, Java, and HTML5 are available to over 50% of web users as of summer 2011. See also "Rich Internet Applications: The Next Frontier of Corporate Development" by Larry Seltzer. 2010-08-25. eWeek. http://www.eweek.com/c/a/Security/Rich-Internet-Applications-The-Next-Frontier-of-Corporate-Development-732651/ نسخة محفوظة 2016-03-19 على موقع واي باك مشين.
- ^ "RIA Trends (Google Trends: adobe flex,silverlight,javaapplet,HTML5 )". مؤرشف من الأصل في 2020-03-14. اطلع عليه بتاريخ 2012-09-19.
- ^ "RIA Trends (Google Trends: Adobe flex, ExtJS, GWT, Vaadin )". مؤرشف من الأصل في 2020-05-15. اطلع عليه بتاريخ 2012-09-19.