مصادر لتعلم برمجة تطبيقات الـ iOS بلغة Swift


قبل أن أبدا بذكر المصادر، يتوجب عليك معرفة بأنه هناك أمرين في اي منصة تريد تعلم برمجتها ، هناك لغة البرمجة و الـ SDKs

هنا لتعلم برمجة تطبيقات الـ iOS
يتوجب عليك تعلم لغة البرمجة Swift وايضا الـ SDKs الخاصة بالـ iOS
كثير من المصادر تشرح اللغه بشكل سريع ومن ثم تبدا في برمجة تطبيقات الـ iOS 
بما يعني تركز في الـ SDKs وكيف تبرمج تطبيق


لذا الطريقة الصحيحة هي أن تبدا بتعلم اللغة بشكل عميق قبل أن تنتقل لبرمجة التطبيقات، لهذا السبب سوف ابدأ بالكتب أولاً

الكتب

هناك عدة مصادر للكتب لكن بداية سوف نبدأ بكتب لغة Swift

كتب لغة Swift

Apple

Big Nerd Ranch

Raywenderlich

Hacking with Swift

كتاب 60 ثانية مع لغة Swift

كتاب لفهم لغة Swift

الكتاب هذا يركز على الإجابة لسؤال لماذا ؟
من الأفضل قرائته بعد الانتهاء من قراءة اي كتاب في القائمة السابقة

كتاب تحديات بلغة Swift

في هذا الكتاب يركز على تحديات في لغة Swift ، يعطيك مشكلة ويطلب منك حلها بلغة Swift وايضا يعطيك تلميحة لكيفية حلها وفي الاخير يعطيك الحل الصحيح

كتب برمجة التطبيقات iOS

هذه الكتب تركز على الجانب التطبيقي لبرمجة التطبيقات بما يعني سوف تتعلم فيها استخدام الـ SDKs
مثل تصميم الواجهات وتفاعل المستخدم مع التطبيق ، تخزين البيانات وغيرها 


هنا يتوجب علي أن أوضح هناك طريقتين الاولى وهي UIKit وهي الاقدم والأكثر استخداما والاكثر دعماً


وهناك الطريقة الأجدد تم إطلاقها عام ٢٠١٩ وهي SwiftUI صحيح انها أسهل لكن عيبها عدم دعمها الا لنظام iOS 13 فأعلى 

ماذا يتوجب علي أن أتعلم ؟
برأيي الاثنين البداية بـ UIKit ومن ثم SwiftUI والسبب جميع المشاريع لازلت مكتوبة بإستخدم UIKit ويتتطلب الامر عدة سنوات لتصبح الطريقة المعتمده لذا جميع المطورين

UIKit

Raywenderlich

ايضا الموقع يحتوي على مجموعة كبيرة من الكتب الاخرى في برمجة
التطبيقات الـ iOS ، لكن هذا الكتاب هو الكتاب الاساسي الذي يتوجب
عليك أن تبدأ منه

Hacking with Swift

ايضا الموقع يحتوي على مجموعة كبيرة من الكتب الاخرى في برمجة
التطبيقات الـ iOS ، لكن هذا الكتاب هو الكتاب الاساسي الذي يتوجب
عليك أن تبدأ منه

Big Nerd Ranch

Appcoda

SwiftUI

Raywenderlich

Appcoda

Hacking with Swift

Bigmountainstudio

كتب الموقع هذا اسلوبها مختلف تتبع منهجة مختلفة، اسلوبها بأنها تعرض صورة النتيجة مع كود لطريقة تنفيذها ، بما يعني الكتب تعتبر كمصدر أكثر من انها كتب


برأيي هي أفضل الكتب الموجوده لـ SwiftUI انصح بها بشده، عند رغبتك في تعلم SwiftUI أن تبدأ معها خاصة كتاب تصميم الواجهات و كتاب نقل البيانات

اكثر جزئيتين راح تستصعبها هي كيف تصمم الواجه بـ SwiftUI وهذا يغطيها الكتاب الأول وكيف انقل البيانات بين الصفحات
ومتى استخدم @State ومتى استخدم @StateObject وغيرها ، الجزئية السابقة يغطيها كتاب نقل البيانات

كتاب أساسيات تصميم الواجهات بإستخدام SwiftUI

كتاب أساسيات الانميشين بإستخدام SwiftUI

كتاب أساسيات نقل البيانات  بإستخدام SwiftUI

الكورسات

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

UIKit

Udacity

دورات موقع Udacity مكلفة ولكنها جداً مفيدة، قد لا يكون خيار مناسب بان تأخد دورتها ، لكن في جميع الدول تقريبا هناك منح بسعر مخفض واحيانا مجاناً 
مثلا في السعودية هناك أكادمية مسك التابعة لمؤسسة محمد بن سلمان الخيرية تقدم منح دورات موقع Udacity بسعر مخفض

تستطيع متابعتهم على حسابهم او موقع الأكاديمة من هنا
غالبا يتم فتح التسجيل فيها في بداية السنه شهر مارس\ابريل ، وايضا نهاية السنه شهر سبتمبر\اكتوبر

مدة الدورة ٤ شهور تقريباً

Udemy

هناك الكثير من الدورات المتنوعه في هذا الموقع ولكن برأيي ورأي الاغلبية دورة
المعلمة Dr. Angela Yu هي الافضل في الموقع

دورات الموقع غالبا تكون مخفضة من 10 دولار الى 20 دولار صحيح بأنها رخصيه لكنها جداً مفيدة !

Hacking with Swift

دورة الـ 100 يوم دورة جدا مفيده ومجانية 

Raywenderlich

دورات هذا الموقع بنظام إشتراك شهري او سنوي بقية 10 دولار شهريا لدورات المبتدئين فقط او 20 دولار شهريا لجميع الدورات المبتدئين والمحترفين

ما الذي يميز هذا الموقع عن غيره ؟ 
الموقع يركز على جميع المستويات وليست فقط المستوى المبتدئ الى المتوسط مثل أغلبية الكورسات السابقة

ايضا عاملين مسارات لتعليم اللغة تحتوي على عدة كورسات لكل مسار
فتستطيع معرفة من أين تبدأ

الدورات محدثه بإستمرار ويطلقوا كورسات جديدة او فيديوهات بشكل مستمر

Seanallen

دورات المبرمج seanallen من المبرمجين المحترفين في المجال

دورة iOS Dev Launchpad

هذه الدورة تغطي الاساسيات في حال ماعندك خلفية مسبقاً انصحك تأخد هذه الدورة

دورة iOS Dev Job Interview Practice - Take Home Project

هذه الدورة تعتبر دورة متوسطة ، تغطي جانب تصميم الواجهات (بدون Storyboard) وكتابة كود نظيف وإعادة استخدام العناصر ، اذا ماعندك خلفيه في البرمجة بدون Storyboard انصحك تأخد هذه الدورة

SwiftUI

Seanallen

دورة SwiftUI Fundamentals

هذه الدورة تغطي اساسيات SwiftUI وأكثر ، انصحك تبدأ فيها ، في حال اردت بداية سريعه لتعلم SwiftUI 

Hacking with Swift

دورة الـ 100 يوم مع SwiftUI هذه من أفضل الدورات واكثرها شمولية ولكن عكس سابقتها تحتاج منك ٣ اشهر لانهائها ،

انصحك تأخد هذه الدورة بعد اخدك للدورة السابقة

قبل فترة بسيطة اطلق دورات بإشتراك شهري 20 دولار في المجالين SwiftUI وايضا UIKit بإسم +Hackingwithswift محتوى الدورات ستكون تركزها في مواضيع متقدمة

Raywenderlich

DesignCode

دورات هذا الموقع تركز على التصميم والانميشين، في الاخير التطبيقات ليست غرضها أنها تعمل فقط ولكن جمالية التصميم وتجربة إستخدام التطبيق شي مهم ايضا ومحتوى كورسات هذا الموقع يركز في هذا الجانب ، ايضا دورته للـ SwiftUI تتبع نفس النهج

Stanford

دورة جامعة Stanford الأمركية سابقا كانت عن UIKit الان تغيرت الى SwiftUI
دورات هذه الجامعة هي في الأصل كلاسات مسجلة للكورس في الجامعة
لذلك بعد كل ترم دراسي تجد نسخه جديدة من الدورة

المقالات

في الغالب عند برمجتك أي مشروع جديد سوف تحتاج البحث عن امور معينه قد تجدها في كورسات او فيديوهات او كتب او ايضا مقال معين . في هذا القسم سوف نذكر مصادر غالبا ستجد نفسك تتجه اليها بشكل متكرر

Raywenderlich

هذا الموقع تم ذكره بشكل متكرر والسبب لانه يغطي جميع الجوانب من فيديوهات وكورسات وكتب وايضا مقالات ، الجانب المجاني الوحيد في هذا الموقع هو مقالاته =)

Hacking with Swift

تقريبا اغلب محتوى هذا الموقع مجاني، حتى كتب الموقع الاساسية مجانيه ويمكن قرائتها من الموقع وايضا تستطيع شراء نسخه رقمية من كتبه.

احدى الامور الذي يوفرها الموقع هو الأمثله في هذه الصفحة سوف تجد اغلب الامثله التي تحتاجها لتنفيذ امر معين

مقالات الموقع تجدها هنا

Medium

هذا الموقع ليس متخصص بشي محدد بل هو عباره عن منصه تشمل جميع المجالات سوا في البرمجة او غيرها .

لماذا ذكرت هذه الموقع ؟
هذا الموقع يسمحلك تتصفحه بشكل مجاني لعد معين من المقالات في اليوم وبعدها يطلب منك اشتراك شهري 5 دولار او سنوي 50 دولار
قيمة الاشتراك ترجع لكتاب الموقع 

بما يعني كتاب الموقع ياخدوا عائد من قراءتك للمقالات

وبالتالي محتوى الموقع جداً مفيد واحيانا تجد شروحات فيه لن تجدها لا في الكتب ولا الكورسات ! 

اثناء برمجتك لأي تطبيق ستجد نفسك ترجع لهذا الموقع في نتائج بحث جوجل وغالب الأحيان سوف تجد مرادك من مقالات الموقع، لذا يعتبر اكبر اسثمار لك كمبرمج =)

Appcoda

NSHipster

Hackernoon

Swiftbysundell

Fivestars

تطبيقات في متجر البرامج

لغة Swift

Unwrap

 Hacking with Swift من تطوير 

سويفتي

 Hassan Taleb من تطوير 

Code! Learn Swift Version

 Happy Moose Apps من تطوير 

SwiftUI

Learn SwiftUI

 Happy Moose Apps من تطوير 

Design+Code

 Shadowness Inc. من تطوير 

قنوات الـ Youtube

Mark Moeykens

Brian Advent

SeanAllen

Lets Build That App

Kilo Loco

Paul Hudson

Archetapp

CodeWithChris

iMr3li