Web Application VS Desktop Application
عندما أنشأت وزارة الدفاع الأمريكي الإنترنت في عام 1969، كان يمثِّل ببساطة وسيلة لتسهيل تبادل المعلومات بين الجامعاتٍ ومؤسسات البحث الأمريكيَّة وبين الجيش الأمريكي.
كانت البيانات حينها تنتقل على شكل Plain Text أي نصوصًا مجرَّدة من التنسيقات والمؤثرات والوسائط المتعدِّدة، ثمَّ ظهر البريد الإلكتروني ليساهم في تطور الإنترنت على يد طلاب الجامعات الأمريكيَّة.
وفي عام 1989 قدَّم العالم الإنجليزي تيم بيرنيرز-لي هديَّةً عظيمةً للعالم باختراعه لشبكة الويب العالميَّة في مؤسسة CERN الأوروبيَّة –لا تنسوا قراءة رواية (الحصن الرقمي) لتتعرفوا أكثر على هذه المؤسسة العلميَّة– :)
وتسارع التطوّر المذهل للويب حتَّى أصبح موجودًا في كلّ مؤسسة ومنزل، وظهرت المتصفحات النصيَّة والصوريّة، وأصبحت الشركات تتنافس في تقديم الأفضل لمستخدم الويب، وطُوّرت اللغات البرمجيَّة التي ساعدت على بناء مواقع داينميكية في الشبكة تسمح للمستخدم العاديّ بتعديل محتويات الموقع باستمرار دون الحاجة لمعرفة برمجيَّة.
والآن؟، كيف أصبح الويب ونحن نعيش في عام 2009 أي بعد 20 عامًا من اختراعه؟. عمليًا، أصبح الويب اليوم يُصنَّف إلى 3 أشكال متباينة:
1- تطبيقات الويب Web Application:
البرامج التي تمنحك القدرة على إنشاء مستنداتك أو تعديل صورك أو ترتيب يومياتك أو غيرها من الوظائف التي تقوم بها تطبيقات الـ Desktop، ولكن عبر متصفحات الويب. مثال: Google Document، برنامج إدارة المشاريع PHProjekt، تطبيقات إدارة محتوى المستندات أو الويب مثل Wordpress.
2- خدمات الويب Web Services:
أغلب مواقع الويب 2.0 تُصنَّف كـ خدمات ويب، وهي نوع من التطبيقات الصغيرة الَّتي تركِّز على وظيفةٍ معيَّنة تخدم متصفحي الويب. مثال: كناشة، Untiny، حوّل، … إلخ.
3- مواقع الويب Web Sites:
وهي تشكّل النسبة العظمى من الويب، بل إنّ تطبيقات وخدمات الويب هي في النهاية مواقع ويب تميَّزت بخصائص وإمكانيَّات عاليَّة. التوجَّه الحاليّ لمواقع الويب هي أن تصبح شبكة من الشبكات الاجتماعيَّة الغنيَّة بالمعلومات والأخبار التِّي يحدّدها المستخدم، ولم تعد مهمَّةُ صاحب الموقع إلاَّ تقديم التسهيلات التي تمكّن المستخدم من ذلك، إذا استثنينا مواقع التجارة الإلكترونيّة والتعليم الإلكترونيّ.
هذه التصنيفات الثلاث هي من ساعدت –عمليًا– على ظهور مصطلح الويب 2.0 ، شاغل الناس ومالئ الدنيا! ومن المحبط حقًا أن يجهل غالبية المتصفحين العرب معنى الويب 2.0، ويحصرون معرفتهم وتصفحهم على مواقع الويب 1.0 المفتقرة إلى التفاعل والبرمجيَّات العاليّة والذكاء الاصطناعي.
عندما استشرنني الطالبات اللواتي سوف يتخرّجن السنة القادمة -إن شاء الله – من كليّة الحاسب في اختيار مشروع تخرّج، عرضتُ عليهنّ أن ينشئنّ تطبيقات أو خدمات ويب مبتكرة، فكنّ غالبًا ما يقاطعنني قائلات: ويب .. ويب، نبحث عن شيءٍ جديد، يستطيع الجميع الآن إنشاء مواقع ويب ولم يعد بالأمر الصعب!
أحاول إقناعهنّ بأنّ ما أتحدَّث عنه مختلفٌ تمامًا عمَّا يفكّرنَ به ويعرفنه حول الويب، بإمكان الجميع الآن أن ينشئوا مواقع إلكترونيَّة، أمَّا مطوّر الويب المحترف فهو القادر على إنشاء تطبيقات وخدمات الويب!
لا بأس في أن نفضّل تطبيقات الـ Desktop Application عن تطبيقات الويب، تطويرًا أو استخدامًا، لأنَّ هذا عائدٌ إلى ميولنا في نهاية الأمر، لكن أن تظلّ تطبيقات الويب نكرةً مجهولة الأهميَّة، فهذا ما لم أستسغه وهذا أيضًا هو ما دفعني لكتابة هذا المقالة.
وحتَّى لا أتحدَّث كمتعصِّبة :) ، سوف أقوم بكتابة مقارنةٍ محايدة بينها وبين تطبيقات سطح المكتب في 6 محاور:
1- السرعة:
تعتمد تطبيقات الويب على سرعة اتصال الإنترنت لدى المستخدم، وهذا ما يقلل من فاعليتها خصوصًا في وطننا العربيّ، وكلّ ما انخفضت سرعة الإنترنت صار من الصعب أو المستحيل أحيانًا العمل عليها. بعكس تطبيقات سطح المكتب الَّتي وإن كانت تعتمد على مواصفات الجهاز المستخدم ونظام التشغيل إلاّ أنّ سرعتها ثابتة نسبيًا.
2- بيئة العمل:
ما يميّز تطبيقات الويب بحقّ هو قدرتك على العمل عليها عبر أيّ نظام تشغيل، بل وقد تتوفّر نسخٌ منها لمتصفحي الويب عبر الجوال والأجهزة الكفيّة. بعكس تطبيقات سطح المكتب الَّتي يلزمك فيها تحديد نوع نظام التشغيل الَّذي سوف تعمل عليه، وهذا أمر غير مرن إطلاقًا سواءً للمطورين أم للمستخدمين.
3- الأمنية:
لا شكّ في أنّ أمنية تطبيقات سطح المكتب أعلى من أمنيّة تطبيقات الويب بدرجةٍ كبيرة، لأنّ الويب في النهاية هو إحدى خدمات شبكة الإنترنت الَّتي تربط بين مختلف أجهزة الحاسب في العالم، ممَّا يسّهل اختراقها والعبث بها.
4- تحديث التطبيقات:
تحديث تطبيقات الويب أعلى مرونةً بكثير من تحديث تطبيقات سطح المكتب، لأنّ مطوّر التطبيق أو الشركة المالكة سوف تقوم بتحديث تطبيقها على الويب مرَّةً واحدةً فقط، ليستخدمه بعد ذلك آلاف وأحيانًا ملايين المستخدمين. أمَّا تطبيقات سطح المكتب، فسوف يتكلّف كلّ مستخدمٍ عناء تحديث البرنامج بنفسه، وهذا أمر غير فعَّال، وإذا ما نظرنا مثلاً لتطبيق MS Office فإننا نجد الكثير من المستخدمين ما زال يعمل على نسخة 2003 حتى بعد ظهور نسخة 2007 بكثير، لكن من يعمل الآن على النسخة القديمة من Google Document؟ :)
5- استهلاك الذاكرة:
في تطبيقات سطح المكتب أنتّ تستهلك الذاكرة في جهازك على 3 أشكال:
- الذاكرة التي سوف تستخدمها لتخزين البرنامج على جهازك
- الذاكرة التي سوف تستخدمها لتخزين ملفاتك التي عملتَ عليها عبر البرنامج
- ذاكرة RAM تختلف من تطبيقٍ لآخر
أمَّا في تطبيقات الويب، فأنت سوف تحتاج إلى نوعٍ واحدٍ من الذاكرة فقط: ذاكرة RAM لتشغيل المتصفح الّذي سوف تعمل من خلاله على التطبيق. أمَّا ملفَّات النظام بالإضافة إلى مستنداتك، فإنَّها سوف تخزّن في قاعدة البيانات التابعة لموقع الويب.
6- المشاركة:
الإنترنت هو وسيلة اتّصال غير محدودة، ومن البديهيّ جدًا أن تكون “المشاركة” هي إحدى أهم سمات تطبيقات الويب، ولربَّما كانت السبب الرئيسي وراء استخدام الكثيرين لها.
حاولت شركة Adobe تقديم حلٍّ متوسّط يجمع بين مميزات تطبيقات سطح المكتب، وبين مميزات تطبيقات الويب، فأنشأت ما يعرفه البعض بـ Desktop-based Web Application. وتتمثَّل هذه التطبيقات بتقنيَّة Adobe Air الَّتي يعرفها الكثيرون، والَّتي مكّنت المطورين من إنشاء تطبيقات ويب تعمل على سطح المكتب وليس على المتصفحات.
أيضًا، قدَّمت تقنيَّة SilverLight من مايكروسوفت حلولاً ذكيَّة لتطبيقات الويب، وقد أخبرنا الأستاذ سعود الهواوي بأنّ النسخة الجديدة منها سوف تكون قادرة على إنتاج تطبيقات ويب تعمل من سطح المكتب.
بقيَ أن أقول، بأنّ تطبيقات الويب ما زالت في بداية عهدها، لذلك هي أقلّ عددًا بكثير من تطبيقات سطح المكتب، وأنا أدعو مطوّري وعشَّاق الويب العرب إلى الاتّجاه نحو دراستها والاهتمام بها بشكلٍ أكبر.
لن أتكهّن بموت تطبيقات سطح المكتب، ولا أعتقد أبدًا بأنّ هذا سوف يحدث، لأنَّ هنالك الكثير من الأعمال الَّتي نحتاج إلى تأديتها بعيدًا عن “شبكة الشبكات”. ولكنّي سوف أتكهّن بمستقبلٍ رائعٍ لتطبيقات الويب :) و .. مرحبًا بالأجيال الجديدة والعظيمة منه!