الأحد، 28 نوفمبر 2004

المرحلة القادمة: برامج الإنترنت

عندما طرحت في الأيام الماضية سلسلة مواضيع حول متصفح فايرفوكس أثار أحد الزوار نقطة تتعلق بتقنية XUL وكيف أنها قد تحتكر سوق المتصفحات وتلغي المعايير القياسية فنخرج من احتكار مايكروسوفت إلى احتكار منظمة موزيلا، وأرى أن هذه النقطة فيها مبالغة بعض الشيء لأسباب عديدة، منها أن منظمة موزيلا تدعم المعايير القياسية بشكل ممتاز لا بل يعتبر متصفحها فايرفوكس هو الأكثر دعماً للمعايير القياسية، النقطة الثانية هي أن تقنية XUL نفسها تعتمد كثيراً على المعايير القياسية، وأخيراً النقطة الثالثة: لا توجد تقنية واحدة تستطيع أن تحتكر السوق لوحدها وتتتجاوز كل التقنيات الأخرى المعتمدة والمتفق عليها منذ سنوات.

دعونا نتعرف على تقنية XUL هذه وبعض التقنيات الأخرى المماثلة.
XML User Interface Language (XUL)
تنطق كلمة XUL هكذا: زول، وهي تقنية تعتمد على لغة XML لوصف ورسم عناصر واجهة متصفح موزيلا ومتصفح فايرفوكس، وبالتأكيد يمكن استخدامها لإنشاء واجهات برامج أخرى، فهناك برنامج Mozilla Amazon Browser الذي يقدم واجهة لتصفح محتويات موقع أمازون، وبرنامج Thunderbird يعتمد أيضاً على هذه التقنية لإنشاء واجهته، وهناك الكثير من البرامج الأخرى التي تعتمد هذه التقنية.

من أهم فوائد هذه التقنية أنها تقلل الوقت والجهد اللازمين لإنشاء واجهات البرامج، فيكفي أن تعرف كيف تتعامل مع XML وجافاسكربت وCSS لكي تقوم بإنشاء واجهة برنامج، بمعنى آخر يمكن لمطوري المواقع أن يقوموا بإنشاء مثل هذه الواجهات، على عكس لغات البرمجة الأخرى التي تتطلب معرفة كبيرة، وحسب مقالة The Joy of XUL هناك فوائد أخرى كثيرة، فيمكن لمطور البرنامج تشغيل برنامجه على أكثر من نظام تشغيل، وهذا ما يحدث فعلاً مع متصفح فايرفوكس الذي يعمل على الكثير من أنظمة التشغيل، ومن فوائد هذه التقنية أنها تبسط عملية ترجمة الواجهة إلى أي لغة أو تعديلها لتناسب احتياجات أي مؤسسة.

يمكنكم قراءة المزيد عن هذه التقنية في موقع XUL Planet وموقع Open XUL Alliance ويمكنكم تعلمها وإنشاء برامجكم بها، وأعتقد أنها فرصة لنا كعرب أن نقوم بإنشاء برامج عربية يمكنها أن تعمل بدون أي مشاكل تقريباً في أنظمة التشغيل المختلفة.
eXtensible Application Markup Language (XAML)
تنطق كلمة XAML هكذا: زامل، وهي تقنية من مايكروسوفت لنظام تشغيلها القادم Longhorn، وهي تقوم بنفس وظيفة XUL إلا أنها مختلفة في تفاصيلها التقنية، وحقيقة لم أجد موقعاً أو مقالة تشرح الاختلافات بين XUL وXAML بشكل مبسط، على أي حال تقنية NET من مايكروسوفت ستعتمد في المستقبل على XAML وبالتالي سيقوم المبرمج بإنشاء ملف XML لوصف ورسم واجهة البرنامج، وهذه التقنية لم تعتمد على CSS وستعمل فقط في نظام مايكروسوفت وحتى الآن لا توجد تطبيقات لها حسب علمي.
تقنيات أخرى
بعد البحث تبين لي أن هناك عشرات التقنيات الأخرى المماثلة لتقنية XUL وXAML وكلها تستخدم لنفس الغرض: رسم ووصف واجهات البرامج، وما يميز كل تقنية هي بعض التفاصيل التقنية الدقيقة، فمثلاً أبل لديها تقنية Dashboard التي سنراها في نظام تشغيلها القادم Tiger، وأعتقد أن تقنية أبل هي الأقرب إلى المعايير القياسية لأنها تعتمد كلياً على محرك متصفحها سفاري، وشركة مايكروميديا لديها تقنية Flex التي تستخدم تقنية فلاش.

كل هذه التقنيات تريد أن تذهب بنا إلى المرحلة الثالثة من التطبيقات، في البداية كانت البرامج عبارة عن نصوص فقط، ثم ظهرت الواجهات الرسومية والشبكات وازداد استخدام الحاسوب بين الناس، الآن المرحلة الثالثة هي تطبيقات الويب، أي أن صفحات المواقع نفسها ستكون برامج وليس مجرد صفحات، والتنافس الكبير الآن بين الشركات يهدف إلى السيطرة على هذا السوق في المستقبل، ومن مصلحتنا ألا تحتكر شركة واحدة هذا السوق فيكفينا احتكار مايكروسوفت الآن، أعتقد أن دعم المعايير القياسية لتطوير المواقع وبرامج الإنترنت سيجبر الشركات على اتباع هذه المعايير، لكن طريق المعايير القياسية طويل ويحتاج إلى صبر جميل.