تطبيق إنترنت غني

تطبيق إنترنت غني أو قوي تسمى أحيانا التطبيقات التي يتم تركيبها عن طريق الإنترنت (Installable Internet Application ) وهي تطبيق ويب تمتلك مميزات وقدرات تطبيقات الحاسب الشخصي (Desktop Applications ) .ويتم التواصل معها عن طريق متصفحات خاصة بمصدر واحد (Site-specific browser ) أو إضافات المتصفحات (Plug-ins ) أو الاستخدام المنتشر للجافا سكريبت أو الساند بوكس (sandbox ) ، أو النظام الإفتراضي (Virtual machine ) ، المنصات الثلاثة الأكثر شيوعا حاليا هم أدوبي فلاش (Adobe Flash ) وجافا فكس (JavaFX ) ومايكروسوفت سيلفرلايت (Microsoft Silverlight ) وتستخدم مع متصفحات سطح المكتب بنسب 96 في المئة 76 في المئة و 66 في المئة على التوالي ((في أغسطس 2011 ) .
تظهر إحصائيات جوجل تريندز (في سبتمبر 2012 ) أن الأطر (Framworks ) المبنية على إضافات (Plug-ins ) في طريقها للإستبدال ببدائل إتش تي إم إل 5 (HTML5 ) وجافا سكريبت .
يحتاج المستخدمون عادة لتثبيت إطار البرنامج باستخدام نظام التشغيل للكمبيوتر قبل البدء في التطبيق، عادةً يشكل 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 و التي تستخدم للهجوم على المستخدمين ومن المحتمل انتشار الفيروسات .
مراجع
برمجيات الجوال
معمارية البرمجيات
حوسبة سحابية
ويب 2.0