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

ما هي Angular

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

تاريخ Angular

كان أول إصدارٍ مستقرٍ ورسميٍّ لـ Angular عام 2016 وهو Angular 2، ومنذ ذلك الوقت بدأت النسخة السابقة منها والتي كانت تسمى AngularJS تفقد شعبيتها، حيث كان أهم ميزةٍ للإصدار الجديد هو قابلية التطوير لمنصاتٍ مختلفةٍ للويب والموبايل وسطح المكتب وهذا ما افتقرت له النسخة القديمة، ولم يتوقف التطوير لهذه المنصة فقد تم إصدار النسخة الرابعة منها في نهاية العام ذاته 2016، وكان الانتقال إلى النسخة الرابعة أسهل من الانتقال السابق إلى الثانية، إلى أن بعض المشكلات لم يتم حلها إلى أن طرح الإصدار المستقر منها Angular 5 في نوفمبر 2017، ونجد اليوم إصدار Angular 7 وبانتظار صدور النسخة الثامنة منها في الأيام القليلة القادمة.

ميزات Angular

إن اتخذت قرار الانتقال إلى Angular فسوف تحصل على الكثير من الميزات وستتمتع بالعديد من الخصائص نذكر منها:

  • إمكانية بناء تاغات HTML خاصة ب والتي تدل على مكونات تقوم أنت ببنائها على سبيل المثال: <calendar></calendar> والذي سوف يظهر كتقويمٍ كاملٍ بناءًا على ما قمت بكتابته في التعليمات البرمجية.
  • قابلية إعادة الاستخدام للمكونات التي يتم بنائها بسهولةٍ، وهذا جزءٌ من الميزات التي تسهل العمل بشكلٍ كبيرٍ.
  • تقدم أدوات وأنماط لبناء المشروع بحيث يكون قابل للصيانة، فعندما تقوم ببناء مشروع Angular صحيح لن يكون لديك في النهاية مجموعةً كبيرةً من الملفات التي يصعب تعديلها والوصول إلى الملف الصحيح منها بل ستحصل على مشروعٍ منظمٍ وسهل الفهم وقابلٍ للتعديل بسهولةٍ.2
  • تقوم برمجة التطبيقات والمواقع فيها على لغة جافا سكريبت ولكن بنسخةٍ محسنةٍ منها تدعى TypeScript، فلا يتطلب الأمر تعلم لغاتٍ برمجيةٍ جديدةٍ للحصول على كل تلك الميزات فهي أيضًا تعتمد على JS ES6 الشهير، وسوف تتمتع بكامل الميزات التي اعتدت عليها وأكثر من كتابةٍ بشكلٍ مستقرٍ واستخدام للكلاسات والواجهات ومجالات الأسماء والترتيب نفسه.
  • تعتمد Angular على فكرةٍ هامةٍ ألا وهي “لا داعي لاختراع العجلة من جديد”، ولذلك فهي تقدم الكثير من التسهيلات التي يستخدمها المطورون بكثرةٍ كجزءٍ منها، حيث يمكن بناء عناصر HTML ديناميكية، واستخدام Form عن طريق أداة التحكم به FormControl باستخدام قواعد تحكمٍ مختلفةٍ، وإرسال الطلبات غير المتزامنة HTTP بسهولةٍ، بالإضافة للكثير من الأدوات الأخرى التي تجعل تطوير المواقع وتطبيقات الويب أكثر سهولةً وتنظيمًا.
  • فصل المكونات المترابطة والذي جعل من السهل استبدال أي مكونٍ بمكونٍ مختلفٍ وذلك عن طريق حقن الكود بوساطة Node js.
  • يمكن التلاعب بالـ DOM عند الحاجة، حيث لا يتم ربط منطق التطبيق بمنطق العرض مما يجعل الكود أكثر وضوحًا وتنظيمًا.
  • بناء مواقع وتطبيقات ويب قابلةٌ للاختبار وهي قد تكون قيد الاختبار أثناء بنائها، حيث تتيح Angular إمكانية الاختبار الوحدات والاختبار من طرفٍ إلى طرفٍ، وكل ذلك عن طريق أدوات اختبار مثل Jasmine و Protractor.
  • يمكن استخدام Angular للموبايل والحاسب معًا مما يعني أنك تستخدم بيئةً واحدةً لأغراضٍ متعددةٍ.
  • تملك مجتمع مطورين كبير ويمكنك الحصول على الأدوات والإضافات المختلفة بسهولةٍ.

وهذا ما يجعلنا نقول أن الـ Angular هي ليس مجرد إطار عملٍ للمطورين بل هي نظامٌ متكاملٌ يجعل عملية التطوير فعالةً وسهلةً ومنظمةً وقابلةً للصيانة مع الكثير من الإضافات والتسهيلات التي تجعلك متفرغًا لبناء الجوهر الأساسي للموقع دون القلق حول باقي التفاصيل.3

هل هناك أي سلبيات

لا يمكن تواجد أي تقنيةٍ كاملةٍ وإلا لتوقف التطور عندها ولكن سلبيات الأنغولار قليلة ويمكن التعامل معها بسهولةٍ ومنها:

  • الأداء: وهو أمرٌ نسبيٌّ في الواقع إلا أن بعض تطبيقات الويب التفاعلية أظهرت أداءً غير جيدٍ في بعض الأحيان.
  • منحني التعلم متناقص: بسبب كونها متعددة الاستخدامات يكون لكل فكرةٍ غالبًا عدة طرقٍ للتنفيذ مما يثير بعض المتاعب أثناء تعلم استخدامها.4

المراجع