مفهوم – الأنجولار Angular JS هو عبارة عن إطار Frame Work مفتوح المصدر Open source من إنتاج شركة جوجل، وهو أحد أشهر الأطر المبنية على لغة جافا سكربت JavaScript.
ويعتبر الأنجولار إحدى أهم متطلبات تطوير المواقع الحالية وأحد أقوى الخيارات ضمن سوق العمل العالمية حاليًا، دعونا نلقي نظرةً سريعةً وشاملةً عن هذا المصطلح الهام.
Angular هو منصة تسهل بناء تطبيقات الويب والمواقع الإلكترونية، حيث يمكن من خلالها إنشاء التطبيقات والبرمجيات المتعلقة بالويب مباشرةً وعلى طريقتها، حيث أنها تستخدم نوعًا مطورًا من الجافا سكريبت يطلق عليها اسم TypeScript، وهي إطار عملٍ مقدمٍ من شركة جوجل تم تطويره منذ عام 2012 ولا تزال إلى الآن على رأس التقنيات المقدمة لتسهيل تطوير الويب، كما أنها منصة غنية تدعم بناء تطبيقات ومواقع الصفحة الواحدة وتدعم بناء تطبيقات ويب منظمةٍ وقابلةٍ للصيانة ومرنةٍ.
تاريخ Angular
كان أول إصدارٍ مستقرٍ ورسمي لـ Angular عام 2016 وهو Angular 2، ومنذ ذلك الوقت بدأت النسخة السابقة منها والتي كانت تسمى AngularJS تفقد شعبيتها، حيث كان أهم ميزةٍ للإصدار الجديد هو قابلية التطوير لمنصاتٍ مختلفة للويب والموبايل وسطح المكتب وهذا ما افتقرت له النسخة القديمة.
ولم يتوقف التطوير لهذه المنصة فقد تم إصدار النسخة الرابعة منها في نهاية العام ذاته 2016، وكان الانتقال إلى النسخة الرابعة أسهل من الانتقال السابق إلى الثانية، إلى أن بعض المشكلات لم يتم حلها إلى أن طرح الإصدار المستقر منها Angular 5 في نوفمبر 2017، ونجد اليوم إصدار Angular 7 وبانتظار صدور النسخة الثامنة منها في الأيام القليلة القادمة.
ميزات Angular
إن اتخذت قرار الانتقال إلى Angular فسوف تحصل على الكثير من الميزات وستتمتع بالعديد من الخصائص نذكر منها:
إمكانية بناء تاجات HTML خاصة والتي تدل على مكونات تقوم أنت ببنائها.
ما يميز الأنجيولار سهولة مشاركة المعلومات بين المشهد “الموقع” وما يوجد في الكواليس، وذلك لأنها تتبع العديد من النماذج أو الأنماط في هندسة البرمجيات Software Engineering، وأهمها: Model–View–Controller و Model–View–Whatever وغيرها، مما يجعلها قادرة على رفع مستوى الأمان في صفحات الويب وكذلك ترتيب عملية تبادل المعلومات.
قابلية إعادة الاستخدام للمكونات التي يتم بنائها بسهولةٍ، وهذا جزءٌ من الميزات التي تسهل العمل بشكلٍ كبيرٍ.
كل شئ عن لغة جافا سكريبت JavaScript
تقدم أدوات وأنماط لبناء المشروع بحيث يكون قابل للصيانة، فعندما تقوم ببناء مشروع Angular صحيح لن يكون لديك في النهاية مجموعةً كبيرةً من الملفات التي يصعب تعديلها والوصول إلى الملف الصحيح منها بل ستحصل على مشروعٍ منظمٍ وسهل الفهم وقابلٍ للتعديل بسهولةٍ.
تقوم برمجة التطبيقات والمواقع فيها على لغة جافا سكريبت ولكن بنسخةٍ محسنةٍ منها تدعى TypeScript، فلا يتطلب الأمر تعلم لغاتٍ برمجيةٍ جديدةٍ للحصول على كل تلك الميزات فهي أيضًا تعتمد على JS ES6 الشهير، وسوف تتمتع بكامل الميزات التي اعتدت عليها وأكثر من كتابةٍ بشكلٍ مستقرٍ واستخدام للكلاسات والواجهات ومجالات الأسماء والترتيب نفسه.
تعتمد Angular على فكرةٍ هامةٍ ألا وهي “لا داعي لاختراع العجلة من جديد”، ولذلك فهي تقدم الكثير من التسهيلات التي يستخدمها المطورون بكثرةٍ كجزءٍ منها، حيث يمكن بناء عناصر HTML ديناميكية، واستخدام Form عن طريق أداة التحكم به FormControl باستخدام قواعد تحكمٍ مختلفةٍ، وإرسال الطلبات غير المتزامنة HTTP بسهولةٍ، بالإضافة للكثير من الأدوات الأخرى التي تجعل تطوير المواقع وتطبيقات الويب أكثر سهولةً وتنظيمًا.
فصل المكونات المترابطة والذي جعل من السهل استبدال أي مكونٍ بمكونٍ مختلفٍ وذلك عن طريق حقن الكود بوساطة Node js.
يمكن التلاعب بالـ DOM عند الحاجة، حيث لا يتم ربط منطق التطبيق بمنطق العرض مما يجعل الكود أكثر وضوحًا وتنظيمًا.
بناء مواقع وتطبيقات ويب قابلةٌ للاختبار وهي قد تكون قيد الاختبار أثناء بنائها، حيث تتيح Angular إمكانية الاختبار الوحدات والاختبار من طرفٍ إلى طرفٍ، وكل ذلك عن طريق أدوات اختبار مثل Jasmine و Protractor.
اقرأ ايضًا:
يمكن استخدام Angular للموبايل والحاسب معًا مما يعني أنك تستخدم بيئةً واحدةً لأغراضٍ متعددةٍ.
تملك مجتمع مطورين كبير ويمكنك الحصول على الأدوات والإضافات المختلفة بسهولةٍ.
وهذا ما يجعلنا نقول أن الـ Angular هي ليس مجرد إطار عملٍ للمطورين بل هي نظامٌ متكاملٌ يجعل عملية التطوير فعالةً وسهلةً ومنظمةً وقابلةً للصيانة مع الكثير من الإضافات والتسهيلات التي تجعلك متفرغًا لبناء الجوهر الأساسي للموقع دون القلق حول باقي التفاصيل.3
سلبيات Angular
لا يمكن تواجد أي تقنيةٍ كاملةٍ وإلا لتوقف التطور عندها ولكن سلبيات الأنغولار قليلة ويمكن التعامل معها بسهولةٍ ومنها:
الأداء: وهو أمرٌ نسبي في الواقع إلا أن بعض تطبيقات الويب التفاعلية أظهرت أداءً غير جيدٍ في بعض الأحيان.
منحني التعلم متناقص: بسبب كونها متعددة الاستخدامات يكون لكل فكرةٍ غالبًا عدة طرقٍ للتنفيذ مما يثير بعض المتاعب أثناء تعلم استخدامها.