تطوير تطبيقات الموبايل
تعلم كيفية بناء تطبيقات موبايل احترافية باستخدام Flutter و Dart. هذا المسار يغطي الأساسيات، Firebase، State Management، GetX، قواعد البيانات المحلية، ربط APIs، ومشاريع عملية.
Dart
ما هذا؟
Dart هي لغة برمجة طورتها Google، وهي اللغة الأساسية لإطار Flutter. تتميز بسرعتها العالية ودعمها للبرمجة الكينونية والبرمجة غير المتزامنة.
المواضيع المغطاة
• Basics (Variables, Data Types, Operators, Control Flow)
• Functions (Declaration, Parameters, Return Types, Arrow Functions)
• OOP (Classes, Objects, Constructors, Inheritance, Polymorphism)
• Collections (List, Set, Map)
• Async Programming (Future, async/await, Streams)
الهدف
🎯 تفهم لغة Dart بسرعة وتستخدمها
مصادر التعلم
Flutter
ما هذا؟
Flutter هو إطار عمل (Framework) من Google لبناء تطبيقات متعددة المنصات (Android, iOS، Web، Desktop) باستخدام لغة Dart.
المواضيع المغطاة
• Widgets (StatelessWidget vs StatefulWidget)
• Layout (Row, Column, Container, Stack, Expanded)
• UI Components (Text, Image, Button, TextField, Card)
• Navigation (Navigator, Routes, push, pop)
• Styling (Theme, TextStyle, BoxDecoration)
المشروع
🎯 UI App (Login + Home Screen)
مصادر التعلم
Firebase 🔥
ما هذا؟
Firebase هي منصة من Google توفر خدمات خلفية (Backend-as-a-Service) مثل المصادقة، قواعد البيانات في الوقت الفعلي، التخزين، والإشعارات.
المواضيع المغطاة
• Firebase Authentication (Login, Register, Email/Password, Google Sign-In)
• Firestore Database (NoSQL, Collections, Documents, Queries)
• Basic Integration (إضافة Firebase إلى Flutter)
المشروع
🎯 Auth App (User System with Firebase)
مصادر التعلم
State Management
ما هذا؟
إدارة الحالة (State Management) هي طريقة للتعامل مع البيانات التي تتغير داخل التطبيق وتأثيرها على واجهة المستخدم.
المواضيع المغطاة
• setState (Basic State Management)
• Provider (Concept - مكتبة شهيرة لإدارة الحالة)
• Bloc (Concept - Business Logic Component)
• إدارة البيانات داخل التطبيق
مصادر التعلم
GetX (Practical 🔥)
ما هذا؟
GetX هو حل عملي وقوي في Flutter يجمع بين إدارة الحالة، التنقل، وحقن الاعتماديات (Dependency Injection) في حزمة واحدة.
المواضيع المغطاة
• State Management باستخدام GetX (GetBuilder، Obx، GetxController)
• Navigation باستخدام GetX (Get.to، Get.back، Named Routes)
• Dependency Injection (Get.put، Get.lazyPut، Get.find)
• Snackbars، Dialogs، BottomSheets
المشروع
🎯 App باستخدام GetX بالكامل
مصادر التعلم
Local Database (Sqflite)
ما هذا؟
Sqflite هو插件 لتخزين البيانات محلياً في تطبيقات Flutter باستخدام SQLite، قاعدة بيانات خفيفة ومدمجة.
المواضيع المغطاة
• SQLite Basics (إنشاء قاعدة بيانات، جداول)
• CRUD Operations (Create, Read, Update, Delete)
• Local Storage داخل التطبيق
• Database Helper Class
المشروع
🎯 Notes / Tasks App
مصادر التعلم
SQL & MySQL
ما هذا؟
MySQL هو نظام إدارة قواعد بيانات علائقية (RDBMS) شائع يستخدم لتخزين البيانات على الخادم. فهم SQL يساعدك في بناء واجهات خلفية قوية.
المواضيع المغطاة
• Database Basics (إنشاء قاعدة بيانات)
• Tables (إنشاء جداول، أنواع البيانات، القيود)
• Relationships (Primary Key, Foreign Key)
• CRUD Queries (SELECT, INSERT, UPDATE, DELETE)
• Joins (INNER, LEFT, RIGHT)
الهدف
🎯 تفهم Backend Database
مصادر التعلم
PHP REST API 🌐
ما هذا؟
PHP هي لغة برمجة خادم (Server-side) تستخدم لبناء APIs. سنتعلم كيفية إنشاء REST API للتواصل مع قاعدة البيانات وربطها مع Flutter.
المواضيع المغطاة
• PHP Basics (Variables, Functions, Arrays, Superglobals)
• إنشاء API (CRUD Operations)
• JSON Response (json_encode, json_decode)
• ربط Flutter مع PHP API (http package)
المشروع
🎯 Flutter App + PHP API
مصادر التعلم
Full Stack Integration 🔥
ما هذا؟
دمج كل ما تعلمته: Flutter مع API وقاعدة بيانات لبناء تطبيق كامل متكامل.
المواضيع المغطاة
• Flutter + API + Database Integration
• Authentication (تسجيل دخول وتسجيل مستخدمين)
• CRUD Operations عبر API
• State Management مع البيانات القادمة من API
• Error Handling و Loading States
مصادر التعلم
Final Project: Store App (MVC) 🔥🔥
فكرة المشروع
تطبيق E-commerce متكامل
قم ببناء تطبيق متجر إلكتروني كامل باستخدام جميع المفاهيم التي تعلمتها.
الميزات
• Products (عرض المنتجات، تفاصيل المنتج)
• Cart (إضافة إلى السلة، تعديل الكميات، حذف)
• Orders (إنشاء طلب، عرض الطلبات السابقة)
• Authentication (تسجيل دخول، تسجيل مستخدم جديد)
• User Profile (ملف شخصي، تعديل بيانات)
الـ Architecture
• MVC Concept (Model-View-Controller)
• Folder Structure منظمة
• Reusable Components
• API Integration مع PHP Backend
• State Management باستخدام GetX
الهدف
🎯 تطبيق متكامل حقيقي جاهز للنشر