Angular هي مكتبة من انشاء جوجل وهى مفتوحة المصدر و Angular من اشهر هياكل و إطارات عمل جافاسكربت ، Angular وتعتبر منصة وإطار عمل لإنشاء تطبيقات من صفحة واحدة SPA او Single Page Application فى جهة العميل او المتصفح باستخدام HTML و TypeScript وفي هذة المقاله سوف نتعرف علي تطوير تطبيق الجوال باستخدام Angular .
مميزات انجولار Angular
تعمل على المنصات المختلفة Cross-Platform :
تستخدم Angular الإمكانيات المتطورة للمتصفحات لتقديم تجربة مستخدم تشبه التطبيقات العادية التى نحملها من المتجر وتتميز بالمستوى العالٍ ، كما تعمل فى وضع عدم الاتصال بالانترنت ، ولا تحتاج إلى أي تثبيت ، تلك الطريقة تسمى PDW أو Progressive Web Apps أو تطبيقات الويب المتطورة وهي تطبيقات مكونة من HTML و CSS و Javascript وتعمل على اي متصفح وتقدم تجربة استعمال تشبه التطبيقات الاصلية.
بناء تطبيقات Native :
يمكنك أن تعمل على تطوير تطبيق الجوال باستعمال Angular أو حتى إنشاء تطبيقات جوال أصلية من خلال Cordova أو Ionic أو NativeScript.
الـ Angular يعتمد على الـ TypeScript فبالتأكيد ستجد سهولة هائلة في كتابة الكود البرمجي بالجافاسكربت وتختصر عليك العديد في أسطر قليلة.
سهولة تعديل الكود في الـ Angular مثالية للغاية فبفضل تقسيم الـ Components سيمكنك صناعة التحكم في جزء واحد من المشروع دون التأثير على بقية الأجزاء، و لإعتمادها على الجافاسكربت سيمكنك إنشاء مكتبات أخرى أو استعمال تقنيات أخرى تتماشى معها في المشروع البرمجي مثل Webpack (وهو مجموعة وحدات جافا سكريبت مفتوحة المصدر.)إدارة موارد المشروع.
تتمثل الميزة الأكبر للـ Angular أنها ليست محصورة فقط على مواقع الويب، بل متاحة لتطوير حتى تطبيقات الجوال و تطبيقات سطح المكتب.
رابعا يعتمد الـ ANGULAR في بيئة عمله على صناعة COMPONENTS وهي أجزاء في صفحة الويب مثلا COMPONENT خاص بالتسجيل، و COMPONENT خاص بالبحث و ما الى ذلك، و في الصفحات التي تقوم ببنائها كل ما عليك فعله هو تركيب الوسم (TAG) الخاص بالـ COMPONENT من أجل إشتغاله، مثلا LOGIN، و هذا يبرز سهولة في إنشاء صفحات الويب بكل سهولة.
مشروع Angular قابل للصيانة حيث تتبع Angular بنية MVC ، ويكون كود المشروع منظم وسهل الفهم والصيانة وحل كل المشكلات.
التحريك Animation تمكنك Angular من إنتاج تصميمات ورسوم متحركة عالية الأداء ومعقدة مع القليل من الاكواد البرمجية عن طريق واجهة برمجة تطبيقات API.
الاختبار Testing باستعمال Karma لوحدات الاختبار Unit Testing ، و يمكنك معرفة ما إذا كان قد حصلت مشكلة فى الكود في كل مرة تقوم فيها بحفظ التعديلات ، وتجعل تلك الآلية الاختبارات تعمل بشكل أسرع وبطريقة مستقرة للغاية .
كم كبير وهائل من المطورين يستخدم Angular ، و العديد من مطورى الويب حول العالم مما يوفر مجتمع كبير يمكنك الاستفادة منه في حل المشكلات التي تواجهك ، كما يمكنك الحصول على الأدوات والإضافات المختلفة بسهولة.
مكونات Angular
المكونات أو Components :
يمكنك إنشاء Component بسهولة وإعادة استعماله داخل التطبيق ، و يعرف كل مكون Class يحتوي على بيانات التطبيق والمنطق المتصل به ، ويرتبط بقالب HTML الذي يحدد طريقة عرض البيانات.
الوحدات أو Modules :
و Modules هي آلية لتجميع المكونات Components والتوجيهات directives والخدمات المتعلقة ، بطريقة يمكن دمجها مع Modules الأخرى لإنشاء تطبيق Angular.
التوجيه أو Routing :
فى Angular يمكننا إنشاء التطبيق الكامل دون تغيير عنوان URL على الإطلاق لأننا فى الواقع فى تطبيق أحادي الصفحة SPA ولا حاجة لإعادة تحميل الصفحة ، وغير ذلك ، فإن إضافة التوجيه او Routing تمنح الإذن للمستخدم للإنتقال مباشرة إلى أجزاء محددة من التطبيق.
ومن خلال مشاركة الرابط لجزء من التطبيق وايضًا تجعل التطبيق قابل للاضافة فى الإشارة المرجعية Bookmark ويسمح للمستخدمين بمشاركة الروابط مع الآخرين على منصات التواصل الاجتماعى مثلًا.
سلبيات الـ Angular :
بالرغم من أنه إطار مثالي و إحترافي ، لكن انصحك بتعلم الـ Angular في نسخته الأخيرة، فللأسف نجد أحيانا تغيير جذري وكبير للغاية في الكود الخاص بالـ Angular بين النسخ .
علي الرغم من تعدد دعم المنصات الويب والموبايل وسطح المكتب الا ان تطوير تطبيق ويب بالـ Angular مختلف عن تطوير تطبيق جوال و مختلف عن تطوير تطبيق سطح المكتب، و ستجد نفسك كما لو كنت تطور بإطار آخر كليا.
أداء الـ Angular ضعيف بشكل نسبي مقارنة مع الـ Vuejs و React ، يمكن أن تلاحظ أن الـ vuejs أسرع من حيث الآداء مثلا.
متى تستخدم الـ Angular ؟
في كل مرة تريد إنشاء منصة ويب كاملة و حركية ذات ديناميكية وحيدة (SPA) تطبيقات الويب أحادية الصفحة، أو حين تريد فقط إنشاء موقع بشكل أكثر مثالية فإن الـ Angular رائعة لذلك .
يمكن أيضا الإعتماد على الـ Angular في تطوير تطبيقات سطح المكتب بحيث توفر سهولة في الإستعمال و العمل.
الافضل أن لا تستخدم الـ Angular في تطوير تطبيقات الجوال الا البسيط منها لأنها لم ترقي الي التخصصية في هذا الجزء بعد ولكنها قادمة وبقوة في التحديثات القريبة
في النهاية
Angular هو إطار عمل لبناء تطبيقات الويب للجوال وسطح المكتب. على غرار React، الغرض منه هو بناء واجهات مستخدم تفاعلية وتطبيقات من صفحة واحدة. يستخدم Angular في الواقع TypeScript، وليس جافا سكريبت، لكن اللغات متشابهة جدًا.