نظرة على تقنيات تطوير تطبيقات الويب الحديثة

تطبيق الويب هو موقع ويب على درجة كبيرة من التفاعلية مثل تطبيق Facebook.com . وهويختلف عن موقع الويب في أشياء كثيرة. سنتعرف في هذه المقالة على الفرق بينهما وما هي الأدوات البرمجية الأشهر التي نستطيع من خلالها تطوير تطبيقات الويب

نظرة على تقنيات تطوير تطبيقات الويب الحديثة
تطبيقات الويب

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

ما هو موقع الويب والفرق بينه وبين تطبيق الويب:
موقع الويب هو صفحة أو مجموعة من صفحات الإنترنت المرتبطة ببعضها البعض والتي تعرض محتوى معين غير تفاعلى، أي أن الموقع يعرض للمستخدم معلومات ولا يتلقى معلومات من المستخدم الا بالحد الأدنى مثل موقع coca-cola.com على سبيل المثال.
أما تطبيق الويب فهو موقع ويب على درجة كبيرة من التفاعلية ويستقبل ويرسل معلومات من والى المستخدم مثل Facebook وGmail وTwitter..الخ. وتطبيق الويب هو فعلياً برنامج كمبيوتر يمكن إستخدامه من خلال متصفح الإنترنت وهو أكثر تعقيدا من موقع الويب ويتطلب جهداً أكبر وربما فريق أكبر لتطويره. في هذا المنشور سأتكلم لاحقاً فقط عن تطبيقات الويب.
التقنيات الأكثر شيوعاً لتطوير تطبيقات الويب:
منذ ظهور لغة javascript فوراً بعد ظهور أول متصفحات الإنترنت في منتصف التسعينات وهي متربعة على عرش لغات البرمجة الخاصة بالويب (مع العلم أن لغة javascript يمكن اليوم أيضا استعمالها لتطوير تطبيقات الموبايل وأجهزة سطح المكتب، وسيكون هذا موضوع مقال آخر) وتعتبر javascript اليوم لغة البرمجة الأكثر استخداماً وتفضيلا لمطوري التطبيقات والمبرمجين لأسباب عديدة لا يتسع الوقت لشرحها في هذا المنشور. وبسبب انتشار وشعبية لغة javascript فقد تم تطوير أنظمة (Framework) ومكتبات برمجية (Library) مجانية تعتمد على هذه اللغة للتسهيل على المبرمج والمطور في بناء وتطوير تطبيقات الويب، فيما يلي سنتكلم عن 3 من هذه الأنظمة والمكتبات التي تعد الأشهر والأكثر استعمالا:

المكتبة البرمجية React:
هذه المكتبة البرمجية تم تطويرها من قبل موظف في شركة Faecbook في عام 2011 لغايات الاستخدام الداخلي لتطوير بعض جزئيات موقع الفيسبوك ومع الوقت تطورت هذه المكتبة وأصبحت مشهورة بعد أن رخصت شركة Faecbook هذه التقنية وأصبحت متاحة للجميع (Open Source) في عام 2013، وهي الآن من أكثر التقنيات شعبية وانتشارا بين مطوري التطبيقات.
ومن ميزات هذه التقنية صغر حجم التطبيق وسرعة الأداء في المتصفح. أما أكبر عيوبها فهي صعوبة العمل في حال كان المشروع ضخماً ويحتوي على أجزاء كثيرة، وكذلك افتقارها الى بعض الخاصيات التي لا يمكن الاستغناء عنها مثلاً خاصيات الانتقال بين الصفحات (Routing) والتي يجب الاعتماد على مكتبات خارجية (‪3rd Party Library‬) للقيام بها.
إذن هذه التقنية مناسبة إذا كان المشروع صغيراً ولا يحتوى على أجزاء كثيرة.

لمزيد من المعلومات React

 نظام Angular:
هذا النظام تم تطويره في 2010 من قبل شركة Google للتسهيل على المبرمجين في عملية بناء وتطوير تطبيقات الويب، وفي عام 2014 تم إعادة بناء هذا النظام على أسس وتقنيات جديدة لكي يتناسب مع التطورات، وتم إعتماد لغة TypeScript الجديدة (وهي لغة مشتقة من javascript ولكنها أكثر تطوراً وسهولة) بدل لغة javascript مما ساعد في جعل النظام أكثر ترتيبا وملائمة لمتطلبات العصر الرقمي.
ومن ميزات هذه التقنية سرعة الأداء نسبياً وسهولة العمل على المشروع حتى لو كان ضخماً، واحتوائها على جميع الخصائص اللازمة لبناء تطبيق شامل ومتكامل بدون الاعتماد على مكتبات خارجية (‪3rd Party Library‬). ومن سيئاته صعوبة تعلمه مقارنه مع غيره.
إذن هذه التقنية مناسبة للتطبيقات الكبيرة والضخمة مثل تطبيقات البنوك والشركات.

لمزيد من المعلومات Angular

 نظام Vue:
هذا النظام تم تطويره في 2014 من قبل مبرمج سابق في شركة Google حيث أخذ الأجزاء التي اعتبرها جيدة من نظام Angular وبنى على أساسها نظامه الجديد.
ومن ميزاته سهولة تعلمه وصغر حجم التطبيق وسرعة الأداء ولكنه يفتقر الى بعض الخصائص نسبة الى أقرانه.

لمزيد من المعلومات Vue

في النهاية أود التشديد على أنه بشكل عام لا يوجد تقنية أحسن من الأخرى بشكل مطلق فهذا يعتمد على الهدف من الاستخدام، وفي نهاية المطاف كل منهم له حسناته وله سيئاته، ولكن التقنية الأحسن هي التقنية التي تناسب مشروعك وتلبي احتياجاتك بشكل أفضل.