1. مقدمة إلى Angular وتطبيقات الصفحة الواحدة (SPAs)
ما هو Angular؟
Angular هو إطار عمل (framework) قوي ومفتوح المصدر للواجهات الأمامية، تم تطويره بواسطة Google. يُستخدم لبناء تطبيقات الصفحة الواحدة (SPAs) واسعة النطاق وعالية الأداء.
على عكس المكتبات (مثل React)، يُعد Angular إطار عمل كاملاً، حيث يوفر الهيكلة والأدوات والتوجيه (routing) وحلول إدارة الحالة جاهزة للاستخدام (out-of-the-box).
تطبيقات الصفحة الواحدة (SPAs)
تقوم تطبيقات الويب التقليدية بإعادة تحميل الصفحة بأكملها عندما ينقر المستخدم على رابط. ومع ذلك، تقوم تطبيقات SPAs بتحميل جميع الموارد الضرورية (HTML، CSS، JavaScript) مرة واحدة، ثم تحدث محتوى الصفحة الواحدة ديناميكياً أثناء تفاعل المستخدم مع التطبيق. يوفر هذا تجربة مستخدم أسرع وأكثر سلاسة تشعر بأنها أقرب إلى تطبيق سطح مكتب أصلي.
الخصائص الرئيسية لتطبيقات SPAs:
- تجربة مستخدم أسرع (Faster UX): يتم تبادل البيانات فقط مع الخادم بعد التحميل الأولي.
- واجهات مستخدم غنية (Rich User Interfaces): يسهل بناء واجهات مستخدم تفاعلية معقدة.
- الاعتماد على واجهات API: يعتمد بشكل كبير على واجهات RESTful APIs للتواصل وتبادل البيانات.
لماذا Angular؟
- TypeScript: يستخدم Angular بشكل مكثف TypeScript، مما يضيف كتابة ثابتة (static typing)، ويحسن جودة التعليمات البرمجية وسهولة صيانتها.
- الوحداتية (Modularity): يتم هيكلة التطبيقات حول مكونات ووحدات قابلة لإعادة الاستخدام.
- الأداء (Performance): تضمن ميزات مثل Change Detection والتجميع المسبق (Ahead-of-Time - AOT) تطبيقات سريعة.
- النظام البيئي (Ecosystem): يوفر CLI شامل، وتوجيه مدمج، وعميل HTTP، وأدوات اختبار.
مخطط الدورة
تم تصميم هذه الدورة لتنقلك من عدم معرفة أي شيء عن Angular إلى أن تصبح قادراً على بناء ونشر تطبيقات معقدة. سنبدأ باللبنات الأساسية (TypeScript، Components) ونتقدم إلى الموضوعات المتقدمة (RxJS، State Management، Testing).