تطبيق إنترنت غني أو قوي (بالإنجليزية: 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 تسمح للمستخدم بالعمل بغض النظر عن نظام التشغيل الذي يستخدمه .
إن محرك الزبون (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 و التي تستخدم للهجوم على المستخدمين ومن المحتمل انتشار الفيروسات .