! T3B > W3C

مقدمة حول تقنيات RIA ( تحضير للمقارنة )

Rich Internet Application – RIA - وتترجم تطبيقات الويب الغنية، هو الإسم الذي يطلق على تطبيقات الويب التي تحاكي تطبيقات سطح المكتب في سهولة الوصول، طرق إتصالات متقدمة، كبر وتعقيد النظام، إمكانية العمل بدون إنترنت “كلياً أو جزئياً”، الأمان، السرعة، واجهات المستخدم الغنية. قد يكون الجزء تشابه واجهات هذه التطبيقات مع تطبيقات سطح المكتب هو الأكثر أهمية لدى المستخدم النهائي، لكن مطور تطبيقات الإنترنت يجب أن يلم بالموضوع بشكل أكبر!

عندما بدأت التفكير بعقد مقارنة بين التقنيات المختلفة التي تمكنك من إنشاء RIA apps كنت أفكر في Flex و Silverlight و javaFX. ولكن ما أن بدأت البحث والمقارنة حتى وجدت تقنيات أخرى جديرة بالذكر، وهو ما أجبرني على فصل هذا الموضوع كمقدمة بسيطة وسريعة لكتابة تعريف سريع عن كل تقنية، وفتح باب النقاش لمن لديه الخبرة في أي واحدة منها، لنصل معاً إلى مقارنة منطقية قائمة على أسس واضحة وسليمة.
لنبدأ ؟

Curl: الغريب أنني لم أجد مصادر عربية تتحدث عن هذه المنصة رغم أنها صدرت عام 1998 من قبل Curl, Inc. & Sumisho Computer Systems Corp، المنصة قوية وسهلة في ذات الوقت قريبة من HTML في كتابة البيانات، ومن JavaSc.ript في لغتها البرمجية، تعمل باستخدام Applet خاص عبر المتصفح، كما أنه يمكن إستخدامها لبرمجة تطبيقات لسطح المكتب. يمكنكم تحميل Curl IDE للمطورين، أو تحميل Curl RTE لتجربة الأمثلة الموجودة في الموقع.

JavaFX: أحدث المنصات عهداً ما زالت في نسخها الأولى 1.2، وهي منصة RIA المطورة كجزء من Java من قبل Sun، تستخدم Sc.ripting language خاص يسمى JavaFX Sc.ript، المشكلة الأساسية في هذه المنصة أنها لا تمتلك أداة تحرير رسومية حتى الآن، يمكنك مشاهدة بعضها من هذه الأمثلة، المميز أنه يكفي وجود JRE على جهازك لتستخدم التطبيقات المبنية عبر هذه المنصة، ويمكنك تحميل الأدوات المستخدمة للتطوير لتجربتها، ستجد في الصفحة أداة ReportMill JFXBuilder وهي أداة تحرير رسومية لـJavaFX.

Adobe Flex & Adobe AIR: أما الجزء الأول وهو Flex فهو جزء مفتوح المصدر من منصة Adobe Flash الشهيرة مخصص لتطوير RIA apps، وبالتالي فإن هذه التطبيقات تعمل بمجرد وجود Flash player على المتصفح لديك، ويمكن تطوير تطبيقاتها باستخدام Flex Builder 3 ، أما الجزء الثاني AIR فهو عبارة عن بيئة مساعدة لتشغيل التطبيقات السابقة خارج المتصفح وكأنها تطبيقات سطح مكتب إعتيادية، كالعادة الجميع يحاول إغراءك بالأمثلة فتفضل بمشاهدة بعضها.

MS Silverlight: منصة Microsoft الخاصة لتطوير RIA apps، يستخدام XAML لتمثيل الوجاهات الرسومية، كما يستفيد من الخصائص المختلفة في .NET Framework مثل LINQ ويرها، يمكن تطوير تطبيقاتها باستخدام الأداة الأكثر إنتشاراً بين مطوري الشركة Visual Studio أو من خلال Microsoft Expression Blend 3 ، لتشغيل هذه التطبيقات يتوجب عليك تحميل إضافة خاصة، مرة أخرى الأمثلة

OpenLaszlo:منصة مفتوحة المصدر لتطوير RIA apps، وهي الأخرى تفتقر إلى الإهتمام العربي ( ربما العالمي أيضاً :× )، تمتلك ميزة رائعة وهي أنك تقوم بكتابة الكود المصدري مرة واحدة، ولكنك تستطيع إخراج العمل إما عن طريق الـAjax وإما عن طريق Flash player، أيضاً هذه المنصة تدعم تشغيل تطبيقات الإنترنت الغنية من خارج المتصفح من خلال Laszlo Webtop، يمكنك تحميل إداة التطوير لتجربتها، كما يمكنك المرور على الأمثلة ومشاهدة بعض التطبيقات

المنصات والتقنيات السابقة معظمها يعمل بشكل مشابه للـFlash أي أنها تعتمد على Player أو Runtime Environment خاصة يتم تحميلها من قبل المستخدم، وبالتالي تعمل بشكل متطابق وبسهولة عبر أي OS أو Web browser، في المقابل هناك طريقة أخرى لتطوير RIA apps دون الحاجة لأي من هذه الإضافات، وهي عن طريق الـAjax لكن المشكلة التي سيواجهها المطور هنا أنه بحاجة للتأكد من أن التطبيق الخاص به يعمل بشكل صحيح على المتصفحات المختلفة، بل وعليه أيضاً أن يتحقق من هذا الأمر بعد كل إصدار جديد من المتصفح. الآن يتم تطوير HTML5 لتتناسب مع هذا التطور المستمر تطبيقات الإنترنت، وتحاول W3C من خلالها طرح الطرق الموحدة لدعم العديد من الخصائص الهامة نذكر منها على سبيل المثال canvas tag للرسم ثنائي الأبعاد، وخاصة السحب والإفلات (Drag and Drop)، وحفظ المعلومات للعمل دون إتصال، و SVG كطريقة موحدة لحفظ الرسومات المتجهة، أضف لذلك العديد من المكتبات والمنصات وأطر العمل التي تسهل التعامل مع هذه الاللغات والأدوات مثل Google GWT، jQuery، Prototype، Ext وغيرها الكثير الكثير.

الآن ما رأيكم!؟ أليست تطبيقات الإنترنت الغنية فعلاً غنية ؟ ما نحن بحاجته الآن بعد هذه المقدمة هو أسس علمية وعملية لمقارنة هذه المنصات ( هناك المزيد منها بالمناسبة ) والطرق لتطوير RIA apps، وبحاجة أيضاً لوضع خبراتنا العملية والنظرية العامة حول أي من الأمور السابقة الذكر للمساهمة في المقارنة بمعلومات جديدة، يمكننا الحديث بشكل سريع عن بعض جوانب المقارنة الهامة مثل: دعم المتصفحات وأنظمة التشغيل، سهولة التعلم والتطوير، الأدوات المتوفرة، المصادر المتوفرة للدروس والأمثلة، القوة، الأمان، المتطلبات السابقة ….. سأترك البقية للردود القادمة، ولإقتراحاتكم.

أتمنى أن أكون قد أضفت جديداً، ودمتم بود

About these ads

4 ردود

  1. تنبيه: links for 2009-07-23 « Free Open Source Directory

  2. تنبيه: المشروع - تطوير المواقع » مقدمة حول تقنيات RIA ( تحضير للمقارنة )

  3. تنبيه: مقدمة حول تقنيات RIA ( تحضير للمقارنة ) : : المشروع (تجريبي)

  4. محمد هادي

    سلام عليكم
    أولا موقع ظريف و حلو و عجبني الديزاين . اني وي .

    أبي أعرف هل javafx يحل محل AJAX ؟
    لأن قرأت في أحد الصفحات يقول
    no more AJAX tools, which a lot of suffering programmers will, you know, pray for you for the rest of their lives because they don have to program in AJAX any more

    ؟؟؟
    محتاج الى رأيكم !!

    شكرا

    18 يوليو 2010 الساعة 9:13 م

أضف تعليق

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

You are commenting using your WordPress.com account. تسجيل الخروج / تغيير )

Twitter picture

You are commenting using your Twitter account. تسجيل الخروج / تغيير )

Facebook photo

You are commenting using your Facebook account. تسجيل الخروج / تغيير )

Google+ photo

You are commenting using your Google+ account. تسجيل الخروج / تغيير )

Connecting to %s

Follow

Get every new post delivered to your Inbox.