تعلّم تطوير التطبيقات بـ Flutter
دورة Flutter مجانية وتفاعلية تبدأ من الصفر. اكتب تطبيقات حقيقية بلغة Dart وشغّلها على شاشة هاتف بجانب المحرر، مع Hot reload وتلميحات الذكاء الاصطناعي وشهادة لكل قسم.
1,000+ من الـ codders مسجلون
219 درسًا219 تحديات297 أسئلة الاختبار
- مناسب للمبتدئين
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
قسم 1
تطبيقك الأول
ابدأ القسمابدأتوسيعطيتطبيقاتك الأولى باستخدام Flutter: ما هو Flutter، وشجرة العناصر (Widget Tree)، والنص وتنسيقه، والمربعات الملونة، والهوامش الداخلية، والصفوف والأعمدة، والأيقونات والصور، وأساسيات Dart التي تحتاج إليها أثناء التعلم. ينتهي المشروع بتطبيق بطاقة عمل.مرحبًا، Flutter
6 درسًا68تنسيق النص
4 درسًا45Dart في الوقت المناسب
4 درسًا45الصناديق
4 درسًا44الصفوف والأعمدة
6 درسًا68الأيقونات والصور
5 درسًا55مشروع: بطاقة العمل
مشروع3 درسًا33قسم 2
إضافة التفاعلية
ابدأ القسمابدأتوسيعطيتطبيقات تستجيب للمستخدم: الأزرار والدوال وConsole، وStatefulWidget وsetState، وconst وfinal، واتخاذ القرارات باستخدام if والقيم المنطقية، وحقول النصوص ومفاتيح التبديل ومربعات الاختيار والمنزلقات، وأساسيات Dart المرتبطة بها. ينتهي المشروع بتطبيق لحساب الإكرامية.الأزرار
5 درسًا57الدوال
3 درسًا35عناصر واجهة ذات حالة
6 درسًا610const و final
2 درسًا24اتخاذ القرارات
5 درسًا58حقول النص
5 درسًا57مفاتيح التبديل وشرائح التمرير
3 درسًا34مشروع: حاسبة الإكرامية
مشروع5 درسًا56قسم 3
القوائم والشاشات
ابدأ القسمابدأتوسيعطيتطبيقات تتضمن أكثر من شاشة: القوائم القابلة للتمرير وعناصر القوائم، والبطاقات والشبكات، وإنشاء فئات Dart خاصة لبياناتك، والتنقل بين الشاشات وتمرير البيانات بينها، وعلامات التبويب والقائمة الجانبية والسحب للحذف. ينتهي المشروع بتطبيق كتاب وصفات.قوائم قابلة للتمرير
5 درسًا58القوائم من البيانات
3 درسًا34البطاقات والشبكات
3 درسًا33أصنافك الخاصة
6 درسًا611أكثر من شاشة واحدة
5 درسًا58علامات التبويب والأدراج والتمرير بالسحب
5 درسًا58المشروع: كتاب الوصفات
مشروع6 درسًا67قسم 4
تصميم يتكيف مع الشاشة
ابدأ القسمابدأتوسيعطيشاشات تلائم جميع الهواتف: تقسيم المساحة في الصف باستخدام Expanded وFlexible وSpacer، وفهم خطأ تجاوز المساحة وإصلاحه، واستخدام Wrap وStack وPositioned وSafeArea، وتحديد أقصى عرض، وأحجام الشاشات ونقاط التوقف، والتعدادات وswitch، وسمات التطبيق والوضع الداكن. ينتهي المشروع بشاشة مشغل موسيقى.التشارك في الصف
4 درسًا45خطأ تجاوز السعة
5 درسًا56تكديس الودجات
4 درسًا45الأحجام ونقاط التوقف
4 درسًا44التعدادات وعبارة switch
3 درسًا33السمات والوضع الداكن
5 درسًا56مشروع: مشغل الموسيقى
مشروع5 درسًا55قسم 5
إدارة الحالة
ابدأ القسمابدأتوسيعطيمشاركة البيانات بين العناصر والشاشات: رفع الحالة إلى مستوى أعلى باستخدام القيم وعمليات الاستدعاء، وأساسيات Dart اللازمة لفئات النماذج، واستخدام Provider مع ChangeNotifier، وRiverpod مع ConsumerWidget وStateProvider وNotifier، ومتى تستخدم كل خيار. ينتهي المشروع بسلة تسوق مشتركة بين شاشتين.رفع الحالة إلى المكوّن الأب
4 درسًا48Dart للنماذج
4 درسًا48Provider
7 درسًا714Riverpod
6 درسًا612مشروع: عربة التسوق
مشروع6 درسًا68قسم 6
البيانات والشبكة
ابدأ القسمابدأتوسيعطيتطبيقات تنتظر البيانات: futures وasync وawait، ومؤشرات التحميل باستخدام FutureBuilder، ومعالجة الأخطاء باستخدام try وcatch، وتحويل JSON الوارد من خادم إلى فئات Dart، والسحب للتحديث، وتنسيق التواريخ والأسعار باستخدام intl. ينتهي المشروع بتطبيق للطقس.المستقبليات (Futures)
4 درسًا46شاشات التحميل
5 درسًا58عندما تفشل الاستدعاءات
5 درسًا56JSON
5 درسًا59التواريخ والأسعار
3 درسًا33مشروع: تطبيق الطقس
مشروع5 درسًا56قسم 7
المشاريع
ابدأ القسمابدأتوسيعطيأربعة تطبيقات متكاملة تُبنى خطوة بخطوة باستخدام كل ما تعلمته: قائمة مهام، واختبار قصير، ومتجر مع سلة تسوق، ومتتبع للعادات مع سلاسل الإنجاز والوضع الداكن. ينتهي كل مشروع بتطبيق مصقول يمكنك عرضه للآخرين.مشروع: قائمة المهام
مشروع9 درسًا910المشروع: اختبار قصير
مشروع9 درسًا99مشروع: متجر
مشروع9 درسًا99مشروع: متتبع العادات
مشروع9 درسًا99
تعلّم بالممارسة
اكتب أكواداً حقيقية، واستعلم من قواعد البيانات، وأنشئ مواقع ويب، وأتقن أوامر الذكاء الاصطناعي. دروسنا التفاعلية تغطي كل المهارات التي يحتاجها المطورون المعاصرون.
ابنِ سلسلتك
حافظ على الاستمرارية وشاهد تقدمك ينمو! تابع عادة البرمجة اليومية، واحمِ سلسلتك بأيام التجميد، واكسب مكافآت لحضورك كل يوم.
12 أيام متتالية
عُد غداً للحفاظ على سلسلتك!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
ضعف أو لا شيء
اليوم 5 من 7
تجميد السلسلة
2 left
لست وحدك
تنافس على لوحات المتصدرين العالمية، وادعُ أصدقاءك لكسب المكافآت، واحتفلوا بإنجازات بعضكم. البرمجة أفضل مع الأصدقاء!
كل طريقة للتعلّم
اقرأ، استمع، اختبر نفسك، اسأل الذكاء الاصطناعي، أو ابحث عما درسته من قبل. كل درس يتكيّف معك.
المتغيّر حاوية مسمّاة تخزّن قيمة يمكن الرجوع إليها لاحقًا في برنامجك.
في بايثون، تُنشئ واحدًا بكتابة الاسم ثم علامة يساوي ثم القيمة التي تريد تخزينها.
يمكن أن تتغيّر القيمة بمرور الوقت. إعادة الإسناد ببساطة توجّه الاسم إلى قيمة جديدة.
احصل على شهادتك
احصل على شهادات لكل دورة تكملها. أضفها إلى ملفك على LinkedIn وسيرتك الذاتية لعرض خبرتك البرمجية لأصحاب العمل.
لماذا تتعلّم Flutter مع Coddy
- الكود والتطبيق جنبًا إلى جنب. اضغط تشغيل، فيُترجَم التطبيق على خوادم Coddy ويفتح على شاشة هاتف بجانب المحرر، ويشغّله محرك Flutter للويب. يعرض Hot reload تعديلك ويحتفظ بحالة التطبيق، وتعرض وحدة التحكم مخرجات
print()والأخطاء. اضغط تحقّق، فيُقيَّم الدرس بحسب ما يعرضه تطبيقك على الشاشة. - لا تحتاج إلى معرفة Flutter أو Dart لتبدأ. القسم الأول يبني شجرة الواجهات من
Textوالمربعات الملوّنة والمسافات وRowوColumnوالأيقونات والصور، وينتهي بتطبيق بطاقة تعريف. وفي القسم الثاني تتفاعل التطبيقات معك: الأزرار وStatefulWidgetوsetStateوconstوfinalوحقول النص والمفاتيح وأشرطة التمرير، وفي النهاية حاسبة بقشيش. - تطبيقات بأكثر من شاشة: قوائم قابلة للتمرير، وبطاقات وشبكات، وأصناف Dart خاصة بك، والتنقل بين الشاشات، والتبويبات، والقائمة الجانبية، والسحب للحذف. ثم تخطيطات تناسب أي هاتف:
ExpandedوFlexibleوSpacer، وخطأ overflow وطريقة إصلاحه، وStackوSafeArea، ونقاط التوقف، والسمات والوضع الداكن. - الحالة والبيانات كما تتعامل معها التطبيقات الحقيقية: رفع الحالة إلى الأعلى، و
ProviderمعChangeNotifier، وRiverpod معConsumerWidgetوNotifier، ومتى تستخدم كلًّا منها. ثم futures وasyncوawaitوFutureBuilderوtryوcatch، وتحويل JSON من الخادم إلى أصناف Dart، وفي النهاية تطبيق للطقس.
أسئلة شائعة عن تعلّم Flutter
هل أحتاج إلى معرفة Dart لتعلّم Flutter؟
if والأصناف وasync وawait، كلٌّ منها حين يحتاجه التطبيق أول مرة. لا تحتاج إلى خبرة سابقة في البرمجة.