
دورة برمجة Swift
أتقن سويفت الحديثة مع نماذج مجال قوية وواجهات برمجة آمنة من حيث الأنواع وasync/await والممثلين واختبارات صلبة. ابنِ تطبيقات قابلة للتوسع وقابلة للصيانة بهندسة نظيفة ومعالجة أخطاء موثوقة وأنماط جاهزة للإنتاج المستخدمة من فرق iOS المهنية.
ماذا ستتعلم:
توفر دورة تطوير سويفت مهارات عملية لتصميم أنواع قيم قوية ونمذجة المجالات الواقعية ومعالجة الأخطاء بأمان. ستتعلم التوازي الحديث باستخدام async/await والممثلين والتوازي المنظم، بالإضافة إلى أمان البيانات وإدارة الحالة وواجهات برمجة آمنة من حيث الأنواع باستخدام البروتوكولات والعامة. تغطي الدورة أيضًا الاختبارات والمزيفات والتكامل المستمر لتسريع إصدار كود سويفت موثوق وقابل للصيانة.
كيف تدرس بشكل عملي دورة برمجة Swift
كيف تتدرب عملياً دورة برمجة Swift
لك إذا كنت شركة وتريد تدريب فريقك
في Elevify للشركات، يأتي الدورة مع تمارين وأمثلة من عملك نفسه وبالطريقة التي تحتاجها شركتك.
محتوى الدورة
6 فصول • 36 دروسمدة بين 4 و 360 ساعة (أنت تقرر)
الفصل 1إخفاءإخفاء التفاصيلعرض التفاصيلأنواع قيم سويفت ونمذجة المجال
أنواع قيم سويفت ونمذجة المجال
الدرس 1 • نمذجة المهمة والمستخدم: المعرّف، العنوان، الوصف، طوابع الوقت
طبّق جميع المفاهيم من خلال نمذجة كيانات المهمة والمستخدم. ستحدّد المعرّفات والعناوين والوصفات وطوابع الوقت والعلاقات، مع ضمان عمل Codable والتحقق والهوية والتعدادات معًا في طبقة المجال المتكاملة.
الدرس 2 • أنماط التحقق: مُنشئات قابلة للفشل، مُنشئات مُلقية، ومصانع ثابتة
أتقن أنماط التحقق التي تبقي البيانات غير الصالحة خارج نماذجك. ستُصمّم مُنشئات قابلة للفشل ومُلقية، وتستخدم طرق مصانع ثابتة، وتركّز الثوابت حتى تكون كل حالة مُنشأة مضمونة الصحة.
الدرس 3 • تنفيذ الامتثال الآمن لـ Codable واستراتيجيات فك الترميز المخصصة
تعلم كيفية تنفيذ Codable الآمن لنماذج المجال، مع تجنّب الانهيارات وفقدان البيانات. ستستخدم مفاتيح مخصصة، وقيم افتراضية، وحاويات متداخلة، واستراتيجيات فك الترميز للتعامل مع الحقول المفقودة أو الملخبطة أو القديمة بطريقة مُتحكّم فيها.
الدرس 4 • استخدام التعدادات لـ TaskStatus وUserRole مع قيم مرتبطة وقيم خام
تعلم نمذجة مفاهيم المجال باستخدام التعدادات التي تعبّر عن حالات صالحة. ستحدّد TaskStatus وUserRole باستخدام قيم خام ومرتبطة، تضيف خصائص محسوبة، وتضمن التعامل الشامل في المفاتيح التبديلية وعرض الواجهة.
الدرس 5 • تصميم أنواع قيم غير قابلة للتغيير مع دلالات هيكل let
استكشف كيفية تصميم هياكل غير قابلة للتغيير سهلة التفكير فيها. ستستخدم خصائص let، وتحويلات نقية، وتحديثات بنمط النسخ عند الكتابة، وتصميم المُنشئات للحفاظ على تغييرات الحالة واضحة ومتوقعة وآمنة للخيوط.
الدرس 6 • الهوية والمساواة: Hashable، Equatable، ومعرّفات مستقرة
افهم كيف تشكّل الهوية والمساواة نماذجك. ستُنفّذ Equatable وHashable، تختار معرّفات مستقرة، تتجنّب التصادمات العرضية، وتستخدم الهوية بشكل صحيح في المجموعات والقواميس ومصادر البيانات القابلة للفرق.
الفصل 2إخفاءإخفاء التفاصيلعرض التفاصيلواجهات برمجة تطبيقات آمنة من حيث النوع باستخدام البروتوكولات والعاميات
واجهات برمجة تطبيقات آمنة من حيث النوع باستخدام البروتوكولات والعاميات
الدرس 1 • استخدام البروتوكولات لانقلاب التبعيات وقابلية الاختبار
استكشف كيف تمكّن البروتوكولات انقلاب التبعيات لفصل المنطق العالي المستوى عن التنفيذات الملموسة. ستُصَمِّم حدودًا قائمة على البروتوكول، تحقن التبعيات، وتكتب كودًا قابلًا للاختبار بسهولة باستخدام السخريات والمزيّفات في سويفت.
الدرس 2 • تصميم بروتوكولات المستودعات والخدمات (TaskRepository، UserRepository)
صمّم بروتوكولات المستودعات والخدمات التي تغلّف مخاوف الاستمرارية والشبكات. ستُنَمِّي TaskRepository وUserRepository، تحدّد عقودًا واضحة، وتفصل منطق المجال عن تفاصيل التخزين أو النقل.
الدرس 3 • توسيعات البروتوكولات المُوَجَّهَة، التنفيذات الافتراضية، والتوسيعات المُقَيَّدَة
تعلم تقنيات البروتوكولات المُوَجَّهَة لتوسيع السلوك بأمان. نغطّي توسيعات البروتوكول، أجسام الطرق الافتراضية، توسيعات مُقَيَّدَة بعبارات where، وكيف تساعد هذه الأدوات في تطوير واجهات برمجة التطبيقات دون كسر الأنواع المتوافقة.
الدرس 4 • تصميم DTOs لطلبات/استجابات مقابل نماذج المجال واستراتيجيات التحويل
اكتشف كيفية تصميم DTOs لطلبات الاستجابة منفصلة عن نماذج المجال. ستحوّل بين الطبقات، تتجنّب تسرب مخاوف النقل، وتحافظ على استقرار واجهات برمجة التطبيقات بينما تتطور قواعد المجال مع الوقت.
الدرس 5 • غلافات نتائج عامة ونقل أخطاء مُطَبَّقَة
افهم كيفية نمذجة غلافات نتائج عامة ونقل أخطاء مُطَبَّقَة في سويفت. نقارن Result، والغلافات المخصصة، ومعالجة أخطاء async/await، مع التركيز على تدفقات أخطاء تعبيرية وقابلة للتركيب وقابلة للاختبار في تصميم واجهات برمجة التطبيقات.
الدرس 6 • تفعيل الإصدارات لواجهات برمجة التطبيقات وتصميم تغييرات البروتوكول متوافقة مع الخلفية
تعلم استراتيجيات تطوير واجهات برمجة التطبيقات القائمة على البروتوكولات دون كسر العملاء الحاليين. نغطّي تفعيل الإصدارات الدلالي، إضافة المتطلبات بأمان، الإهمال، التنفيذات الافتراضية، وتقنيات الحفاظ على التوافق الخلفي في سويفت.
الفصل 3إخفاءإخفاء التفاصيلعرض التفاصيلالتوازي والتصميم غير المتزامن في سويفت
التوازي والتصميم غير المتزامن في سويفت
الدرس 1 • أساسيات التوازي في سويفت: async/await، Tasks، TaskGroup، والاستمراريات
افهم مكوّنات بناء التوازي في سويفت: الدوال async، والمهام، وTaskGroup، والاستمراريات. تعلم كيف يُجَدِّل المُنَفِّذُون العمل، وسلوك نقاط التعليق، وكيفية هيكلة تدفقات التوازي بشكل متوقّع وآمن.
الدرس 2 • تصميم طرق مستودعات async: توقيعات وسيمантيك loadTasks()، createTask()، updateTask()
صمّم واجهات برمجة تطبيقات مستودعات async واضحة لتحميل وإنشاء وتحديث المهام. حدّد التوقيعات، ونماذج الأخطاء، وسلوك الإلغاء لطرق مثل loadTasks()، وcreateTask()، وupdateTask()، مع ضمان الاتساق وقابلية الاختبار.
الدرس 3 • تصميم اختبارات async حتمية واستخدام توقعات XCTest مع async
تعلم استراتيجيات كتابة اختبارات async حتمية في سويفت. استخدم دعم XCTest لـ async والتوقعات للتحكّم في التوقيت، عزل التوازي، والتحقق من الترتيب، مع تجنّب التقلبات الناتجة عن السباقات والجدولة غير الحتمية.
الدرس 4 • فخاخ التوازي: انقلاب الأولوية، التوازي الزائد، والمجاعة
دراسة مخاطر التوازي الحقيقية مثل انقلاب الأولوية، والتوازي الزائد، والمجاعة. تعلم كيفية تفاعل مُنَفِّذُو سويفت وأولويات المهام، وكيفية تصميم كود يظل متجاوبًا وعادلًا تحت الحِمْل.
الدرس 5 • ربط واجهات برمجة التطبيقات القديمة القائمة على الاستدعاءات إلى async/await مع withCheckedContinuation
تعلم تحويل واجهات برمجة التطبيقات القائمة على الاستدعاءات الخلفية أو المندوبين إلى دوال async حديثة باستخدام withCheckedContinuation وwithCheckedThrowingContinuation، مع الحفاظ على الصحة، تجنّب التسرّبات، والتعامل مع الحالات الحافّة بأمان.
الدرس 6 • استخدام التوازي المنظّم وانتشار الإلغاء
استكشف قواعد التوازي المنظّم الذي يربط أعمار المهام بالنطاقات، مما يضمن التنظيف المتوقّع والإلغاء. تعلم كيف ينتشر الإلغاء عبر تسلسلات المهام وكيف تصمّم كودًا async تعاونيًا ومتجاوبًا.
الفصل 4إخفاءإخفاء التفاصيلعرض التفاصيلسلامة البيانات وإدارة الحالة
سلامة البيانات وإدارة الحالة
الدرس 1 • دمج المُمَثِّلِين مع أنواع قيم غير قابلة للتغيير للقطات آمنة
تعلم كيفية ربط مُمَثِّلِي سويفت مع الهياكل والتعدادات غير القابلة للتغيير لالتقاط لقطات آمنة للحالة. افهم دلالات النسخ، ودورات حياة اللقطة، وأنماط كشف بيانات القراءة فقط عبر مجالات التوازي.
الدرس 2 • ثوابت الاتساق والتأكيدات التشغيلية لفحوصات دفاعية
تعلم تحديد وفرض ثوابت الاتساق في نماذج حالتك. استخدم التأكيدات التشغيلية، والشروط المسبقة، ومساعدي التحقق الداخلية لكشف الانتهاكات مبكّرًا والفشل السريع مع الحفاظ على سلوك الإنتاج متوقّعًا.
الدرس 3 • متاجر في الذاكرة آمنة للخيوط: مخازن مدعومة بالمُمَثِّلِين واستراتيجيات التزامن
استكشف كيفية بناء متاجر في الذاكرة آمنة للخيوط باستخدام المُمَثِّلِين كمخازن خلفية. قارن استراتيجيات التزامن، وسياسات الإخراج، وتجميع التحديثات، ودمج المخازن مع تدفقات async والتوازي المنظّم.
الدرس 4 • المُمَثِّلُون والحالة المعزولة بالمُمَثِّل لمنع سباقات البيانات
افهم كيف يمنع عزل المُمَثِّل سباقات البيانات ويفرض وصولًا منظّمًا إلى الحالة القابلة للتغيير. تعلم نمذجة الموارد المشتركة، تجنّب فخاخ مشاركة عابرة للمُمَثِّلِين، وتصميم واجهات برمجة تطبيقات تحافظ على الثوابت آمنة تحت التوازي.
الدرس 5 • التحديثات المتفائلة مقابل المتشائمة واستراتيجيات حل التعارض
قارن استراتيجيات التحديث المتفائل والمتشائم للحالة المشتركة. تعلم كشف التعارض، وسياسات الدمج، وتقنيات التراجع، ورؤ كيفية اختيار نهج بناءً على الكمون، والتنافس، واحتياجات تجربة المستخدم.
الدرس 6 • استخدام الدوال غير المعزولة واعتبارات إعادة دخول المُمَثِّلِين
غوص في الدوال غير المعزولة، وإعادة دخول المُمَثِّلِين، وتأثيرها على الصحة. تعلم متى تُمَيِّز واجهات برمجة التطبيقات غير معزولة، كيف يمكن لإعادة الدخول إعادة ترتيب العمليات، وأنماط تجنّب الأخطاء الدقيقة وانقلابات الأولوية.
الفصل 5إخفاءإخفاء التفاصيلعرض التفاصيلمعالجة الأخطاء، التحقق، والبرمجة الدفاعية
معالجة الأخطاء، التحقق، والبرمجة الدفاعية
الدرس 1 • تصميم نوع خطأ خاص بالمجال مع الفئات والبيانات الوصفية
تعلم تصميم أنواع أخطاء خاصة بالمجال التعبيرية في سويفت. ستجمع الأخطاء في فئات واضحة، تربط بيانات وصفية مفيدة، تدعم التوطين، وتدمج مع التسجيل والتحليلات لتصحيح الأخطاء والمراقبة بسهولة.
الدرس 2 • رمي الأخطاء مقابل إرجاع Result: متى تستخدم كل نمط
قارن رمي الأخطاء مع إرجاع Result في واجهات برمجة تطبيقات سويفت. ستتعلم متى يناسب كل نمط أفضل، كيفية تفاعلهما مع async/await، وكيفية تصميم سطح أخطاء واضح وقابل للتركيب للكود المتزامن وغير المتزامن.
الدرس 3 • التحقق من المدخلات قبل الاستمرارية: أمثلة لإنشاء وتحديث المهام
ركّز على التحقق من المدخلات قبل الحفظ أو تغيير البيانات. باستخدام إنشاء المهام والتحديثات كأمثلة، ستحدّد قواعد التحقق، تُرَكِّبْ المُصَحِّحَاتْ، تُظْهِرْ أخطاء واضحة، وتحافظ على طبقات الاستمرارية آمنة ومتسقة.
الدرس 4 • التسجيل والتشخيصات المنظّمة لتصحيح الأخطاء في الإنتاج
تعلم كيفية التقاط تشخيصات غنية لتصحيح الأخطاء في الإنتاج. ستُهَيْئْ السجلات، تختار مستويات السجل، تضيف سياقًا ومعرّفات الارتباط، وتدمج مع أدوات مثل OSLog والمنصّات الخارجية للمراقبة لحل المشكلات أسرع.
الدرس 5 • حواجز الحماية لتجنّب الانهيارات: الشروط المسبقة، التأكيدات، وأنماط الفتح الآمن
استكشف حواجز الحماية في سويفت التي تمنع الانهيارات والحالات غير المحدّدة. ستستخدم الشروط المسبقة، والتأكيدات، وأنماط الفتح الآمن لفرض الثوابت في التطوير مع الحفاظ على سلوك الإنتاج متوقّعًا ومستقرًّا.
الدرس 6 • التدهور الرشيق: سياسات إعادة المحاولة، التراجع الأسي، وأنماط مقطع الدائرة
افهم استراتيجيات التدهور الرشيق للأنظمة غير الموثوقة. ستُنَفِّذ سياسات إعادة المحاولة، والتراجع الأسي، وأنماط مقطع الدائرة للتعامل مع الأعطال المؤقتة مع حماية الخدمات اللاحقة وتجربة المستخدم.
الفصل 6إخفاءإخفاء التفاصيلعرض التفاصيلالاختبار، السخريات، والهندسة المعمارية للصيانة
الاختبار، السخريات، والهندسة المعمارية للصيانة
الدرس 1 • اختبارات العقود لتنفيذات المستودعات والمحاكاة في الذاكرة
تعلم تحديد عقود المستودعات والتحقق من تنفيذات متعدّدة باختبارات مشتركة. ستُبْنِيْ مزيِّفَاتْ في الذاكرة، تُحَاکِيْ الأعطال، وتضمن سلوك طبقات الاستمرارية والشبكة باستمرار وتوقُّع.
الدرس 2 • تصميم لقابلية الاختبار: حقن التبعيات وسخريات قائمة على البروتوكول
اكتشف كيفية تصميم أنواع سويفت لقابلية الاختبار باستخدام حقن التبعيات والتصميم المُوَجَّه بالبروتوكول. ستستبدل العالميات، تحقن المتعاونين، وتبني سخريات وجواسيس بروتوكولية خفيفة الوزن تحافظ على الاختبارات مركّزة وسريعة.
الدرس 3 • ممارسات التكامل المستمر للحزم السويفتية وتشغيل اختبارات async بموثوقية
افهم كيفية تكوين التكامل المستمر للحزم السويفتية، مع التركيز على اختبارات async والتوازي الموثوقة. ستُعَدّْ تدفقات عمل، تُدَارْ تقلبات الاختبار، تجمَعْ التغطية، وتحافظ على خطوط الأنابيب سريعة وحتمية وقابلة للصيانة.
الدرس 4 • مثال: حقن TaskRepository ساخر في ViewModel والتحقق من انتقالات الحالة
امشِ خلال مثال ملموس لحقن TaskRepository ساخر في ViewModel. ستدفع انتقالات الحالة بمدخلات الاختبار، تؤكِّد المخرجات، وتتحقق من تغطية مسارات التحميل والنجاح والخطأ وملاحظتها في الاختبارات.
الدرس 5 • أفكار اختبار الخصائص واختبار الطفرة لثوابت النموذج
استكشف اختبار الخصائص للتحقق من ثوابت النموذج تحت مدخلات كثيرة، ثم استخدم اختبار الطفرة لكشف التأكيدات الضعيفة. ستُصَمِّمْ مُولِّدَاتْ، تُشَفِّرْ الثوابت، وتُفَسِّرْ تقارير الطفرة لتقوية مجموعة الاختبارات.
الدرس 6 • كتابة اختبارات وحدة للدوال async والمكوّنات المعزولة بالمُمَثِّل
تعلم أنماط اختبار الدوال async والمكوّنات المعزولة بالمُمَثِّل باستخدام XCTest. ستعمل مع التوقعات، وasync/await، والمهمة، وMainActor، مع تجنّب حالات السباق وضمان نتائج حتمية وقابلة للتكرار.

شهادتك الصالحة للتخرج
ماذا يقول طلابنا
آراء من درسوا معنا:
دروسكم مثالية. اشتريت الباقة السنوية، وأخيراً أصبح لدي الفرصة لمتابعة مواضيع متنوعة تهمني دون الحاجة لتغيير المنصة... أشكركم على كل ما تقومون به، لقد أوصيت بكم لأشخاص آخرين...

أحب كيف أن الدروس مباشرة ومركزة وكيف يمكنني تغيير الفصول وتخطي المحتوى الذي لا أحتاجه.

أحب المحتوى وطريقة العرض ونسخ الفيديوهات، مما يسرّع العملية!

المنصة سريعة وبسيطة الاستخدام. تنوع المحتوى والفيديوهات التكميلية تساعد كثيراً في التعلم.

أهم الدورات
الأسئلة الشائعة
من هي Elevify؟ كيف تعمل؟
هل الدورات تتضمن شهادات؟
هل الدورات مجانية؟
ما هو عبء الدورة؟
كيف تبدو الدورات؟
كيف تعمل الدورات؟
ما هي مدة الدورات؟
ما هو سعر أو تكلفة الدورات؟
ما هو التعليم عن بعد أو الدورة عبر الإنترنت وكيف تعمل؟
دورة PDF




















