برمجة تطبيقات الموبايل باستخدام Flutter
أنشئ تطبيقات Android و iOS بسهولة باستخدام Flutter ولغة البرمجة Dart.
1. مقدمة في Flutter وDart:
- ما هو Flutter ولماذا هو خيار ممتاز لتطوير تطبيقات الموبايل.
- مقارنة بين التطوير الأصلي (Native) والتطوير عبر Flutter.
- مقدمة عن لغة Dart ومزاياها لتطوير الواجهات والتطبيقات.
2. إعداد بيئة التطوير:
- تنصيب Flutter SDK وDart وتهيئة المحاكي (Emulator) و/أو جهاز فعلي.
- التعرف على VS Code أو Android Studio وملحقات Flutter.
- إنشاء أول مشروع Flutter وتشغيله على المحاكي.
3. أساسيات لغة Dart:
- المتغيرات وأنواع البيانات، الهياكل الشرطية والحلقات.
- الدوال، الأصناف (Classes) والكائنات (Objects).
- مفاهيم متقدمة بسيطة: Futures, async/await، ومعالجة الأخطاء.
4. بنية تطبيقات Flutter وWidgets:
- مفهوم الـ Widget في Flutter (Stateless vs Stateful).
- Widgets الأساسية: Text, Image, Container, Row, Column, ListView.
- هيكلة الشاشة وإعادة استخدام المكونات (Reusable Widgets).
5. تصميم الواجهات (Layouts) واستجابة التصميم:
- أنظمة التخطيط: Flex, Expanded, Stack، وGrid.
- تصميم واجهات متجاوبة تدعم أحجام شاشات متعددة.
- استخدام Themes وStyles لتوحيد شكل التطبيق.
6. إدارة الحالة (State Management):
- مفهوم الـ State ولماذا هو مهم.
- طرق إدارة الحالة: setState، Provider، وBloc (مقدمة).
- اختيار الطريقة المناسبة حسب حجم وتعقيد التطبيق.
7. التنقل بين الشاشات (Navigation & Routing):
- Navigator 2.0 وطرق التنقل التقليدية.
- تمرير البيانات بين الشاشات واستقبال النتائج (push/pop).
- إعداد القوائم الجانبية (Drawer) والـ Bottom Navigation.
8. الاتصال بالشبكات وAPIs:
- إرسال واستقبال البيانات عبر HTTP باستخدام حزم مثل http أو dio.
- التعامل مع JSON وتحويله إلى كائنات Dart (Serialization).
- إدارة الأخطاء والتحميل (Loading) وحالات الشبكة.
9. تخزين البيانات محليًا (Local Persistence):
- Shared Preferences لتخزين الإعدادات البسيطة.
- SQLite وSembast لتخزين بيانات أكثر تعقيدًا.
- استخدام Hive كحل سريع وخفيف الوزن للـ NoSQL المحلي.
10. واجهة المستخدم المتقدمة والرسوم المتحركة (Animations):
- مبادئ التصميم الجيد وتجربة المستخدم (UX) على الموبايل.
- الأنيميشن البسيط والمتقدم باستخدام AnimationController وImplicit Animations.
- تحسين الأداء وتجربة المستخدم أثناء الانتقالات.
11. التكامل مع مميزات الجهاز (Platform Integration):
- التعامل مع الكاميرا، التخزين، والـ Sensors.
- التعامل مع الإشعارات (Push Notifications) عبر Firebase.
- استخدام الـ Platform Channels للتواصل مع Native Code عند الحاجة.
12. الاختبار والتصحيح (Testing & Debugging):
- كتابة اختبارات وحدة (Unit Tests) واختبارات الواجهات (Widget Tests).
- استخدام أدوات التصحيح ومراقبة الأداء (DevTools).
- كتابة اختبارات اندماجية (Integration Tests) قبل الإطلاق.
13. نشر التطبيق على متاجر التطبيقات:
- تحضير التطبيق للنشر على Google Play (Android) وApp Store (iOS).
- إنشاء مفاتيح التوقيع (Signing) وإعداد الـ Bundle/IPA.
- متطلبات النشر، سياسات المتجر، وإجراءات التحديث والصيانة.
14. المشروع التطبيقي النهائي:
- بناء تطبيق متكامل (مثل متجر بسيط، تطبيق مهام، أو تطبيق أخبار) من البداية للنهاية.
- تطبيق أفضل ممارسات الإدارة، الأداء، وتجربة المستخدم.
- تسليم كود نظيف، مستندات الاستخدام، ودليل نشر التطبيق.
Course Features
- Lecture 0
- Quiz 0
- Duration 4 weeks
- Skill level All levels
- Language English
- Students 0
- Assessments Yes