Easy Learning with Swift Programming Language from Zero in Arabic
Development > Mobile Development
18h 29m
£14.99 £12.99
5.0

Enroll Now

Language: Arabic

دورة Swift الاحترافية: إتقان برمجة تطبيقات Apple من الصفر بالعربية

What you will learn:

  • فهم شامل للغة Swift ودورها في تطوير Apple
  • إتقان بناء أساسيات Swift: المتغيرات، الثوابت، وأنواع البيانات
  • التحكم في تدفق الكود باستخدام الشروط والحلقات بكفاءة
  • تطوير دوال قوية ومرنة لمعالجة البيانات
  • البرمجة الكائنية (OOP) والبروتوكولات (POP) في Swift
  • التعامل المتقدم مع المجموعات (Arrays, Sets, Dictionaries)
  • إدارة الأخطاء ومعالجة القيم الاختيارية (Optionals)
  • استخدام Closures و Higher-Order Functions بفعالية
  • فهم أساسيات إدارة الذاكرة وتجنب التسرب (ARC)
  • استكشاف مواضيع متقدمة مثل Generics، Extensions، والـ Regular Expressions

Description

هل تحلم بدخول عالم تطوير تطبيقات Apple؟ هل ترغب في إتقان لغة Swift، القوة الدافعة وراء تطبيقات iOS، macOS، watchOS وtvOS التي نستخدمها يوميًا؟ هذه الدورة الشاملة هي بوابتك لتحقيق ذلك، مصممة خصيصًا لتعليمك Swift من الألف إلى الياء، وبأسلوب مبسط وشامل باللغة العربية.

نقدم لك في هذه الدورة منهجًا متجددًا يواكب آخر إصدارات لغة Swift، مع التركيز الكامل على جوهر اللغة وهيكلها. لن نتعمق في تصميم الواجهات (مثل SwiftUI) أو تطوير تطبيقات محددة، بل سنبني لديك أساسًا برمجيًا صلبًا يمكنك الاعتماد عليه في أي مسار تطوير تطبيقات Apple تختاره مستقبلًا.

لا تقلق بشأن خبرتك السابقة! سواء كنت مبتدئًا تمامًا في عالم البرمجة أو لم تكتب سطر كود واحد من قبل، فإن هذا الكورس مصمم ليأخذ بيدك خطوة بخطوة. سنبدأ رحلتنا من المفاهيم الأساسية للغاية ونتقدم تدريجيًا نحو المواضيع المتقدمة، لضمان استيعابك الكامل لكل جزء من أجزاء لغة Swift.

ماذا تحتاج للبدء؟

  • لا يُشترط وجود أي معرفة برمجية سابقة.
  • جهاز Mac هو الخيار الأمثل لاستخدام بيئة Xcode، ولكن يمكنك أيضًا استخدام جهاز يعمل بنظام Windows مع محاكي مناسب أو الاستفادة من خدمة Xcode Cloud.
  • للتجربة والتدريب العملي، يمكنك الاعتماد على أداة Swift Playgrounds المجانية والمتاحة من Apple، والتي توفر بيئة رائعة للممارسة الفورية.

بنهاية هذه الدورة، ستكون قد أتقنت:

  • جميع المفاهيم الأساسية والمتقدمة في لغة Swift.
  • كيفية بناء منطق برمجي سليم وفعال.
  • فهمًا عميقًا للبرمجة الكائنية والبروتوكولات في Swift.
  • التعامل مع أنواع البيانات، هياكل التحكم، والدوال بكفاءة.
  • القدرة على حل المشكلات البرمجية باستخدام أدوات Swift المتنوعة.

انطلق في رحلتك نحو إتقان Swift وفتح أبواب عالم تطوير تطبيقات Apple الواسع!

Curriculum

شرح تسطيب بيئة العمل (Xcode / Playground)

سنبدأ دورتنا بإعداد بيئة العمل اللازمة لبرمجة Swift. سنتعلم كيفية تنزيل وتثبيت Xcode على أجهزة Mac، وهو بيئة التطوير المتكاملة الأساسية لتطوير تطبيقات Apple. بالإضافة إلى ذلك، سنستكشف Swift Playgrounds، وهي أداة رائعة ومجانية من Apple تسمح لك بتجربة أكواد Swift وتعديلها بشكل فوري، مما يتيح لك ممارسة المفاهيم البرمجية دون الحاجة لبناء تطبيق كامل.

ما هي لغة Swift ولماذا تُستخدم؟

في هذا القسم، سنتعرف على لغة Swift بشكل معمق، من بداياتها وتطورها إلى مميزاتها الفريدة التي تجعلها الخيار الأول لتطوير تطبيقات Apple. سنستكشف الفلسفة وراء تصميم Swift، وكيف أنها تجمع بين الأداء القوي والأمان وسهولة القراءة، ولماذا أصبحت ضرورية لأي مطور يطمح للعمل على منصات iOS، macOS، watchOS، وtvOS.

السينتاكس الأساسي للغة (Basic Syntax)

سنغوص في لب لغة Swift من خلال فهم السينتاكس الأساسي الذي يشكل كل برنامج. ستتعلم القواعد الأساسية لكتابة الأكواد، كيفية تنسيقها، واستخدام التعليقات (comments) لجعل كودك أكثر وضوحًا وقابلية للفهم، مما يضع الأساس الصلب لجميع المواضيع القادمة.

المتغيرات والثوابت (Variables and Constants)

يعتبر فهم المتغيرات والثوابت أمرًا جوهريًا في أي لغة برمجة. في هذا القسم، سنتعلم كيفية تعريف المتغيرات (vars) التي يمكن تغيير قيمتها، والثوابت (lets) التي تبقى قيمتها ثابتة بعد التعيين الأولي. سنناقش متى نستخدم كل منهما، وكيفية التمييز بينهما لإنشاء كود أكثر أمانًا وفعالية.

أنواع البيانات (Data Types): String, Int, Float, Bool, Double, Character

ستتعرف على الأنواع المختلفة للبيانات التي تتعامل معها Swift، مثل الأعداد الصحيحة (Int)، الأعداد العشرية (Float وDouble)، النصوص (String)، الحروف (Character)، والقيم المنطقية (Bool). سنشرح كيفية تحديد نوع البيانات لكل قيمة، وكيف يؤثر ذلك على طريقة تخزينها والعمليات التي يمكن إجراؤها عليها، مما يمكنك من التعامل مع معلومات متنوعة بدقة.

جمل التحكم (Control Flow): if, else, switch, guard

تعلم كيفية توجيه مسار تنفيذ برنامجك بناءً على شروط معينة. سنشرح بالتفصيل عبارات `if` و `else` لاتخاذ القرارات البسيطة، وعبارة `switch` للتعامل مع حالات متعددة بكفاءة. كما سنتطرق إلى عبارة `guard` التي تعد أداة قوية لتحسين قراءة الكود وإدارة حالات الخطأ المبكرة، مما يجعل برامجك أكثر قوة وتنظيمًا.

الحلقات (Loops): for in, while, repeat while

تعتبر الحلقات جزءًا أساسيًا لتكرار تنفيذ كود معين. سنتعلم كيفية استخدام حلقة `for-in` للتكرار على نطاق معين أو على عناصر مجموعة، وحلقة `while` للتكرار طالما كان هناك شرط صحيح، وأخيرًا `repeat-while` التي تضمن تنفيذ الكود مرة واحدة على الأقل. سيساعدك هذا على أتمتة المهام ومعالجة مجموعات كبيرة من البيانات.

الدوال (Functions): المعاملات، أنواع الإرجاع، المتغيرات الداخلية والخارجية

سنستكشف مفهوم الدوال، وهي كتل من الكود قابلة لإعادة الاستخدام. ستتعلم كيفية تعريف الدوال، تمرير المعاملات (parameters) إليها، وكيفية تحديد أنواع القيم التي ترجعها الدالة (return types). سنناقش أيضًا الفرق بين أسماء المعاملات الداخلية والخارجية وكيفية استخدامها لجعل الدوال أكثر وضوحًا وسهولة في الاستخدام، مما يعزز تنظيم كودك وقابليته للصيانة.

Optionals & Optional Binding: if let, guard let, nil-coalescing

تُعد الـ Optionals من أهم ميزات Swift لضمان أمان الكود ومنع الأخطاء المتعلقة بالقيم الفارغة (nil). سنتعلم ماهية الـ Optionals، وكيفية التعامل معها بأمان باستخدام `if let` و `guard let` لفك ارتباطها بشكل آمن. كما سنتعرف على عامل `nil-coalescing` لتقديم قيمة افتراضية في حال كانت القيمة اختيارية فارغة، مما يضمن عمل برنامجك بسلاسة.

المصفوفات والمجموعات (Collections): Array, Set, Dictionary

سنغطي هياكل البيانات الأساسية في Swift لتخزين وتنظيم البيانات. ستتعلم كيفية استخدام الـ `Array` لتخزين قائمة مرتبة من العناصر، والـ `Set` لتخزين مجموعة غير مرتبة من القيم الفريدة، والـ `Dictionary` لتخزين أزواج من المفاتيح والقيم (key-value pairs). سنشرح العمليات الأساسية لكل نوع وكيفية اختيار الهيكل المناسب لاحتياجاتك.

البرمجة الكائنية (OOP): Class, Struct, Protocol, Inheritance

هذا القسم يقدمك إلى عالم البرمجة الكائنية (OOP)، وهو نموذج برمجي قوي لتنظيم الكود. ستتعلم الفرق بين الـ `Class` والـ `Struct`، وكيفية استخدام كل منهما لإنشاء أنواع بيانات مخصصة. سنتطرق إلى مفهوم الوراثة (Inheritance) لتوسيع وظائف الكلاسات، والـ `Protocols` لتحديد العقود التي تلتزم بها الأنواع المختلفة، مما يمكنك من تصميم برامج مرنة وقابلة للتوسع.

Enumerations (Enums): بـ values مرتبطة وraw values

ستكتشف قوة الـ `Enumerations` (Enums) في Swift لتحديد مجموعة من القيم ذات الصلة. سنتعلم كيفية تعريف الـ Enums بقيمها الأولية (raw values) لتمثيل بيانات محددة، وكيفية استخدام القيم المرتبطة (associated values) لتخزين معلومات إضافية لكل حالة من حالات الـ Enum، مما يجعل كودك أكثر وضوحًا وأمانًا في التعامل مع حالات محددة.

الخصائص (Properties): stored و computed

سنتعمق في الخصائص (Properties) التي تسمح بتخزين البيانات وتوفير وصول إليها. ستفهم الفرق بين الخصائص المخزنة (stored properties) التي تحتفظ بقيمة، والخصائص المحسوبة (computed properties) التي تقوم بحساب قيمة ديناميكيًا عند الوصول إليها، وكيفية استخدام كل منهما لتصميم أنواع بيانات قوية وفعالة.

الـ Constructors: init, و convenience init

تعلم كيفية تهيئة (initialize) الكائنات والهياكل باستخدام الـ Constructors. سنتناول الـ `init` الأساسي لإنشاء مثيلات جديدة، والـ `convenience init` الذي يوفر طرقًا بديلة ومبسطة للتهيئة، مما يسمح لك بمرونة أكبر في إنشاء الكائنات وضمان تهيئتها بشكل صحيح.

الـ Getters & Setters: باستخدام get, set, وwillSet, didSet

سنتعلم كيفية التحكم في الوصول وتعديل قيم الخصائص باستخدام الـ `Getters` و `Setters`. ستكتشف كيفية استخدام `get` و `set` لتحديد سلوك قراءة وكتابة الخصائص، بالإضافة إلى `willSet` و `didSet`، وهما مراقبان للخصائص يسمحان لك بتنفيذ إجراءات معينة قبل وبعد تغيير قيمة الخاصية، مما يمنحك تحكمًا دقيقًا في تدفق البيانات.

Access Control: private, fileprivate, internal, public, open

يعتبر التحكم في الوصول (Access Control) جانبًا حيويًا لتنظيم الكود والحفاظ على سلامته. سنتعرف على مستويات الوصول المختلفة في Swift: `private`، `fileprivate`، `internal`، `public`، و `open`. سنشرح متى تستخدم كل مستوى، وكيف يؤثر على رؤية وقابلية الوصول إلى الكود الخاص بك داخل الوحدة النمطية أو في وحدات أخرى، مما يضمن تصميم مكتبات وتطبيقات قوية.

Extensions

ستتعلم كيفية توسيع وظائف الأنواع الموجودة (مثل Classes, Structs, Enums, Protocols) دون الحاجة لتعديل الكود الأصلي باستخدام الـ `Extensions`. يتيح لك هذا إضافة خصائص محسوبة، دوال جديدة، وتطبيق بروتوكولات على أنواع موجودة، مما يعزز مرونة وقابلية إعادة استخدام الكود الخاص بك بشكل كبير.

Protocols و Protocol Oriented Programming

سنتعمق أكثر في الـ `Protocols`، وهي عقود تحدد مجموعة من المتطلبات التي يجب أن تلتزم بها الأنواع. سنستكشف مفهوم البرمجة الموجهة بالبروتوكولات (POP)، وهي منهجية تصميم قوية في Swift تشجع على بناء كود مرن، قابل للتوسع، وسهل الاختبار، مما يعتبر حجر الزاوية في بناء تطبيقات Apple الحديثة.

الـ Closures (تشبه lambda)

ستتعرف على الـ `Closures`، وهي كتل من الوظائف يمكن تمريرها واستخدامها في كودك. سنتعلم كيفية تعريف Closures، استخدامها كمعاملات للدوال، وكيفية تبسيط تركيبتها باستخدام syntax مختصر، مما يفتح آفاقًا جديدة في كتابة كود وظيفي ومختصر.

Higher-Order Functions: map, filter, reduce

سنتعلم كيفية استخدام Higher-Order Functions مثل `map`, `filter`, و `reduce` لمعالجة المجموعات (Collections) بطرق فعالة ومختصرة. هذه الدوال تمكنك من تحويل، تصفية، وتجميع البيانات بسهولة، مما يقلل من الحاجة إلى الحلقات التقليدية ويجعل كودك أكثر وضوحًا وقابلية للقراءة.

الـ Error Handling: try, catch, throws, do

يعتبر التعامل مع الأخطاء جانبًا حاسمًا في بناء تطبيقات قوية. سنتعلم نظام معالجة الأخطاء في Swift باستخدام `try`, `catch`, `throws`, و `do`. ستفهم كيفية تعريف الأخطاء المخصصة، وكيفية الإبلاغ عنها والتعامل معها بأمان، مما يضمن أن تطبيقك يستطيع الاستجابة للأخطاء بشكل سليم دون أن يتعطل.

الـ Optional Chaining

سنتناول مفهوم الـ `Optional Chaining`، وهو طريقة موجزة وآمنة للوصول إلى خصائص أو استدعاء دوال على قيم اختيارية (Optionals) قد تكون `nil`. ستتعلم كيفية استخدامها للوصول إلى أعضاء Nested Optionals دون الحاجة لفك الارتباط المتكرر، مما يجعل كودك أكثر إيجازًا ووضوحًا.

Typealias & Generics

سنتعلم كيفية استخدام `Typealias` لإعطاء اسم بديل لنوع موجود، مما يحسن من قراءة الكود. وسنغوص في مفهوم الـ `Generics`، وهو أداة قوية لكتابة دوال وأنواع مرنة يمكنها العمل مع أي نوع من أنواع البيانات، مما يعزز قابلية إعادة استخدام الكود ويجعله أكثر قوة.

Static و Class Methods

سنتعرف على الفرق بين الـ `Static` و `Class Methods` والخصائص. ستفهم متى تستخدم كل منهما لإنشاء دوال وخصائص تنتمي للنوع نفسه (Class/Struct) بدلاً من أن تنتمي إلى كائنات معينة، مما يوفر طريقة لإنشاء وظائف مساعدة لا تتطلب إنشاء مثيل من النوع.

Computed Properties

سنتعمق أكثر في الـ `Computed Properties`، وهي خصائص لا تخزن قيمة مباشرة ولكنها توفر `getter` و `setter` لحساب قيمة. سنستكشف استخداماتها المتقدمة وكيف يمكنها تبسيط منطق الوصول إلى البيانات المشتقة، مما يجعل أنواعك أكثر ديناميكية.

Memory Management - ARC (مقدمة بسيطة)

سنقدم مقدمة مبسطة ومهمة حول إدارة الذاكرة في Swift باستخدام نظام العد المرجعي التلقائي (ARC). ستفهم المبادئ الأساسية وراء كيفية قيام Swift بإدارة الذاكرة للكائنات، وكيف يمكنك تجنب مشكلات مثل دورات الاحتفاظ القوية (strong reference cycles) لضمان أداء مستقر لتطبيقك.

Ternary Operator (اختصارات if)

سنتعلم الـ `Ternary Operator`، وهو اختصار مفيد لجملة `if-else` بسيطة، يسمح لك بكتابة تعبيرات شرطية في سطر واحد، مما يجعل الكود أكثر إيجازًا وسهولة في القراءة للحالات البسيطة.

Recursion (الدوال التكرارية)

سنتناول مفهوم الـ `Recursion` (الدوال التكرارية)، وهي تقنية برمجة تقوم فيها الدالة باستدعاء نفسها لحل مشكلة معينة. ستتعلم كيفية كتابة دوال تكرارية، وفهم متى تكون هذه التقنية مفيدة لحل المشكلات التي يمكن تقسيمها إلى مسائل فرعية متطابقة.

Date & Time التعامل مع التواريخ

سنتعلم كيفية التعامل مع التواريخ والأوقات في Swift باستخدام هيكل `Date` والإطارات المرتبطة بها. ستفهم كيفية الحصول على التاريخ والوقت الحالي، تنسيق التواريخ، وإجراء العمليات الحسابية عليها، وهو أمر ضروري للعديد من التطبيقات.

Math Library (العمليات الرياضية)

سنستعرض بعض الوظائف الأساسية في مكتبة الرياضيات (Math Library) المتاحة في Swift، وكيفية استخدامها لإجراء عمليات حسابية معقدة مثل الجذور التربيعية، والقيم المطلقة، والتقريب، وغيرها من العمليات الرياضية التي قد تحتاجها في تطبيقاتك.

نمط Singleton

سنتعرف على نمط تصميم Singleton، وهو نمط يضمن أن يكون هناك مثيل واحد فقط من Class معين، ويوفر نقطة وصول شاملة لهذا المثيل. ستتعلم متى ولماذا تستخدم هذا النمط، وكيفية تطبيقه بشكل صحيح في Swift.

Protocol Inheritance

سنستكشف مفهوم وراثة البروتوكولات (Protocol Inheritance)، حيث يمكن لبروتوكول أن يرث من بروتوكول آخر، مما يتيح لك تجميع المتطلبات وتوسيعها بطريقة منظمة. هذا يعزز من قابلية إعادة الاستخدام وتصميم عقود أكثر تعقيدًا.

Nested Types

سنتعلم كيفية تعريف الأنواع المتداخلة (Nested Types)، حيث يمكن تعريف Class, Struct, أو Enum داخل Class, Struct, أو Enum آخر. ستفهم الفوائد التنظيمية لاستخدام الأنواع المتداخلة وكيف يمكنها تحسين بنية كودك عندما تكون الأنواع مرتبطة ارتباطًا وثيقًا.

Advanced Structs and Enums

سنتعمق أكثر في استخدام الـ Structs والـ Enums، ونستعرض ميزات متقدمة وكيفية استخدامها لبناء أنواع بيانات قوية وفعالة تتجاوز الأساسيات، مما يتيح لك الاستفادة القصوى من هذه الهياكل في تصميمك.

Regular Expressions في Swift

سنختتم الدورة بالتعرف على التعبيرات النمطية (Regular Expressions - Regex) في Swift. ستتعلم كيفية استخدامها للبحث عن أنماط معينة في النصوص، التحقق من صحة البيانات، واستبدال أجزاء من السلاسل النصية بكفاءة عالية، مما يضيف أداة قوية إلى مجموعة مهاراتك في معالجة النصوص.