مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
آموزش جامع توسعه iOS از صفر تا صد - دورهای ایدهآل برای مبتدیان!
درک مبانی برنامهنویسی با استفاده از سوئیفت (Swift) (متغیرها، انواع داده، منطق پایه، توابع، کلاسها و استراکتها)
ساخت اولین اپلیکیشنها با استفاده از یوآیکیت (UIKit) و سوئیفتیوآی (SwiftUI)
معماری اپلیکیشن، جریان داده، مسیریابی در اپ، اصول کدنویسی و ریفکتورینگ
کار با APIها و SDKهای شخص ثالث
کنترل سورس با استفاده از گیتهاب (GitHub)
عملیات CRUD با استفاده از فایربیس (Firebase)
پیشنیازها:
بدون نیاز به هیچ تجربه قبلی در برنامهنویسی.
توجه: برای دانلود Xcode و ساخت اپلیکیشنهای iOS، داشتن کامپیوتر مک (Mac) الزامی است.
با دوره "برنامهنویسی کاربردی برای توسعه سوئیفت و iOS " سفر خود را به دنیای توسعهدهندگان iOS آغاز کنید. این دوره برای مبتدیان مطلقی طراحی شده که میخواهند وارد دنیای فناوری شوند اما نمیدانند از کجا، چه چیزی و به چه ترتیبی شروع کنند. هیچ تجربه قبلی در برنامهنویسی نیاز نیست. ما از همان ابتدا شروع میکنیم و مبانی کدنویسی را با استفاده از زبان برنامهنویسی سوئیفت (Swift) آموزش میدهیم.
بیشتر بخشهای این دوره شامل یک پروژه پایانی هستند. با ساخت هر پروژه، میتوانیم هر مفهوم جدیدی را که یاد میگیریم، به ترتیب دشواری به کار بگیریم.
موضوعات کلیدی شامل:
مبانی سوئیفت (Swift) و Xcode
برنامهنویسی شیگرا (OOP) و برنامهنویسی پروتکلگرا (POP)
ساخت رابط کاربری با UIKit و SwiftUI
درک معماری پروژه با استفاده از MVC و MVVM
مبانی کنترل سورس با استفاده از گیتهاب (GitHub)
ادغام وابستگیهای پکیج
شبکهسازی و دریافت داده از API یا سرور بکاند
در پایان این دوره، شما یک نمونهکار (پورتفولیو) از اپلیکیشنها خواهید ساخت که درک شما را از توسعه سوئیفت (Swift) و iOS به نمایش میگذارد و میتوانید در پروژههای آینده خود از آنها بهره ببرید. مهم نیست که چه کسی هستید یا از کجا میآیید، شما میتوانید یک توسعهدهنده نرمافزار شوید! هیچ قرص جادویی یا میانبر مخفی وجود ندارد، اما با سختکوشی و پشتکار، میتوانید هر چیزی را یاد بگیرید و کارهایی را انجام دهید که زندگیتان را متحول کند!
سرفصل ها و درس ها
مبانی iOS و اصول Swift بخش ۱
iOS Basics and Swift Fundamentals part 1
مقدمه
Introduction
دانلود Xcode و اپلیکیشن فقط داده است
Download Xcode & An app is just data
اصول متغیرها
Variable Fundamentals
دستورات شرطی If-else بخش ۱
If else statements part 1
If-else بخش ۲ (&&, ||)
If else part 2 (&&, || )
اولین اپلیکیشن ما بخش ۱
Our first app part 1
اولین اپلیکیشن ما بخش ۲
Our first app part 2
اولین اپلیکیشن ما بخش ۳
Our first app part 3
توابع بخش ۱
Functions part 1
توابع بخش ۲
Functions part 2
توابع بخش ۳
Functions part 3
عملگرهای انتساب
Assignment Operators
کلاسها و برنامهنویسی شیگرا
Classes and Object Oriented Programming
اسکوپ (Scope) و دات نوتیشن (Dot Notation)
Scope and Dot Notation
بخش ۱ کامل شد
Section 1 Complete
رابط کاربری Storyboard UIKit و اصول Swift بخش ۲
UIKit Storyboard UI and Swift Fundamentals part 2
رابط کاربری Storyboard – UILabel، UIButton و محدودیتها (Constraints)
Storyboard UI - UILabel, UIButton, and Constraints
رابط کاربری Storyboard – UIStackView، UIImageView و محدودیتها (Constraints)
Storyboard UI - UIStackView, UIImageView and Constraints
آرایهها
Arrays
حلقههای For بخش ۱
For loops part 1
حلقههای For بخش ۲
For loops part 2
حلقههای While
While loops
دیکشنریها
Dictionaries
درونیابی رشتهای (String interpolation)
String interpolation
آپشنالها (Optionals) بخش ۱
Optionals part 1
آپشنالها (Optionals) بخش ۲
Optionals part 2
وراثت بخش ۱
Inheritance part 1
وراثت بخش ۲
Inheritance part 2
مقداردهندهها (Initializers) بخش ۱
Initializers part 1
مقداردهندهها (Initializers) بخش ۲ و وراثت بخش ۳
Initializers part 2 & Inheritance part 3
بخش ۲ کامل شد
Section 2 Complete
اپلیکیشن ماشین حساب UIKit – اعمال اصول ما
Calculator App UIKit - applying our fundamentals
معرفی CalculatorUIKit
Introducing CalculatorUIKit
راهاندازی Xcode
Setting up Xcode
ساخت رابط کاربری (UI) استوریبورد ماشین حساب ما
Building our Calculator storyboard UI
اتصال رابط کاربری (UI) به کد
Connecting UI to code
افزودن قابلیت به دکمههای اعداد
Adding functionality to number buttons
Enums، دستورات Switch و اجرای منطق عملیات بخش ۱
Enums, Switch statements & Executing operation logic part 1
ویژگیهای محاسبهشده (Computed properties) و اجرای منطق عملیات بخش ۲
Computed properties & Executing operation logic part 2
دستورات Guard و اجرای منطق عملیات بخش ۳
Guard statements & Executing operation logic part 3
تکمیل اپلیکیشن و اجرای منطق عملیات بخش ۴
Finishing the app & Executing operation logic part 4
نکات پایانی و حلقه forEach
Final touches & the forEach loop
بخش ۳ کامل شد
Section 3 Complete
YallBeTippin – مدلهای داده، مقدمهای بر معماری اپلیکیشن و پروتکلها
YallBeTippin - Data models, introduction to app architecture, and protocols
معرفی YallBeTippin و اهداف آموزشی
Introducing YallBeTippin and learning objectives
مقدمهای بر معماری اپلیکیشن (MVC)
Introduction to app architecture (MVC)
راهاندازی پروژه و UINavigationController
Project setup & UINavigationController
مدلهای داده، Struct در مقابل Class، ادامه راهاندازی
Data models, struct vs class, continue setup
UITableView و UITableViewCell
UITableView & UITableViewCell
اکستنشنها (Extensions) و پروتکلها بخش ۱
Extensions & Protocols part 1
پروتکلها بخش ۲
Protocols part 2
انتخاب Cell در UITableView بخش ۱
TableViewCell selection part 1
انتخاب Cell در UITableView بخش ۲
TableViewCell selection part 2
انتخاب Cell در UITableView بخش ۳
TableViewCell selection part 3
ناوبری (Navigation) بخش ۱
Navigation part 1
ناوبری (Navigation) بخش ۲ و انتقال داده بین اشیاء/نماها
Navigation part 2 & Passing data between objects / views
رابط کاربری (UI) Xib قابل استفاده مجدد بخش ۱
Reusable Xib UI part 1
رابط کاربری (UI) Xib قابل استفاده مجدد بخش ۲
Reusable Xib UI part 2
ناوبری (Navigation) بخش ۳
Navigation part 3
UIStackViews و جهتگیری دستگاه
UIStackViews & Device orientation
انتخاب دکمه Toggle از طریق Enum
Toggle button selection via enum
نمایش چند UITableViewCells سفارشی بخش ۱
Displaying multiple custom UITableViewCells part 1
نمایش چند UITableViewCells سفارشی بخش ۲
Displaying multiple custom UITableViewCells part 2
اکستنشنها (Extensions) بخش ۲
Extensions part 2
کپسولهسازی داده
Data encapsulation
متغیرهای Static
Static variables
بخش ۴ کامل شد
Section 4 Complete
گیتهاب (Github) – مبانی کنترل نسخه
Github - Source control basics
معرفی گیتهاب (Github) و کنترل نسخه
Introducing Github & source control
مبانی ترمینال بخش ۱ – پیمایش در دایرکتوریها
Terminal basics part 1 - Navigating through directories
مبانی ترمینال بخش ۲ – ایجاد و حذف فایلها و دایرکتوریها
Terminal basics part 2 - Creating and removing files and directories
گردش کار کنترل نسخه
Source control flow
شروع کار با Git
Git started
اتصال مخزن راه دور به مخزن محلی
Connecting remote repository with local repository
شاخه راه دور و شاخههای محلی
Remote branch and local branches
Git clone, git pull, git push
Git clone, git pull, git push
مشاهده و بازگرداندن تغییرات
View and reverse changes
رابطهای کاربری گرافیکی Git (Git GUIs)
Git GUIs
بخش ۵ کامل شد
Section 5 Complete
نصیحت برای پیشرفت
Advice moving forward
میانبرهای صفحهکلید بخش ۱
Keyboard shortcuts part 1
میانبرهای صفحهکلید بخش ۲
Keyboard shortcuts part 2
قوانین کدنویسی تمیز (توابع، فاصلههای سفید، نامها، اعداد جادویی و غیره)
Clean coding conventions (functions, white spaces, names, magic numbers, etc)
سازماندهی پروژه، فایلها و کد
Project organization, files & code
مقدمهای بر دیباگینگ (prints، dumps، borders، سلسلهمراتب نماها، نقاط توقف و غیره)
Intro to debugging (prints, dumps, borders, view hierarchies, break points, etc)
آموزش نحوه خواندن مستندات
Learning how to read documentation
واکشی داده از یک API
Fetching data from an API
معرفی اپلیکیشن آب و هوای ما
Introducing our weather app
API (رابط برنامهنویسی اپلیکیشن) چیست؟
What is an API (Application Programming Interface)
JSON (نشانه گذاری شیء جاوااسکریپت)
JSON (JavaScript Object Notation)
تست Endpoints با استفاده از Postman
Testing endpoints using Postman
ساخت رابط کاربری (UI) صفحه اصلی ما
Building our Home page UI
رابط کاربری (UI) صفحه اصلی بخش ۲، سلول بالا
Home UI part 2, top cell
رابط کاربری (UI) صفحه اصلی بخش ۳، اسکرول افقی UICollectionView
Home UI part 3, UICollectionView horizontal scrolling
رابط کاربری (UI) صفحه اصلی بخش ۴، یک Table View دیگر
Home UI part 4, another table view
واکشی داده بخش ۱، JSONها و ساخت مدلهای داده ما
Fetching data part 1, JSONs & creating our data models
واکشی داده بخش ۲، Closures و بلوک Do/Catch
Fetching data part 2, Closures & the Do / Catch block
پر کردن سطر بالای ما با دادههای دیکد شده
Populating our top row with our decoded data
واکشی داده بخش ۳، DispatchGroups و Main Thread
Fetching data part 3, DispatchGroups & the Main thread
Model CodingKeys و مقدمهای بر Generics و کد قابل استفاده مجدد
Model CodingKeys & Intro to Generics and reusable code
کلمه کلیدی Weak و Closures بخش ۲
The weak keyword & Closures part 2
پر کردن رابط کاربری (UI) Carousel ما
Populating our carousel UI
ایندکسهای ایمن آرایه و عملگر Ternary
Safe array indexes & the Ternary operator
پر کردن سطر پایین ما بخش ۱
Populating our bottom row part 1
پر کردن سطر پایین ما بخش ۲
Populating our bottom row part 2
پاکسازی رابط کاربری (UI) ما بخش ۱
Cleaning up our UI part 1
پاکسازی رابط کاربری (UI) ما بخش ۲
Cleaning up our UI part 2
UIKit برنامهنویسی، UISearchController
Programmatic UIKit, UISearchController
UIKit برنامهنویسی، UISearchController بخش ۲
Programmatic UIKit, UISearchController part 2
Type Casting و مدل داده نتایج جستجوی ما
Type casting & our search results data model
UITableViewCell برنامهنویسی و تست SearchResultsVC ما
Programmatic UITableViewCell & testing our SearchResultsVC
افزودن سطر جدید به UITableView و مقدمهای بر عملیات CRUD و UserDefaults
Inserting new row to UITableView & intro to CRUD operations & UserDefaults
عملیات CRUD با UserDefaults بخش ۲
UserDefaults CRUD operations part 2
حذف سطرهای UITableView، عملیات CRUD بخش ۳ و Overriding Equals
Deleting UITableView rows, CRUD operations part 3 & overriding equals
اتصال SearchVC ما به HomeVC
Connecting our SearchVC to our HomeVC
ذخیره موقعیت مکانی قبلی انتخاب شده ما
Saving our previously selected location
استفاده از Timer برای درخواستهای جستجو
Using a Timer for search requests
عیبیابی: راه حل سریع برای جستجوی موقعیت مکانی
Debugging quick fix for location search
درخواستهای Generic Fetch و ساخت URLComponents ما
Generic fetch requests & constructing our URLComponents
DispatchGroups و کد ناهمزمان
DispatchGroups & asynchronous code
نکات پایانی رابط کاربری (UI) بخش ۱
Final UI touches part 1
نکات پایانی رابط کاربری (UI) بخش ۲، مقدمهای بر UITabBarController
Final UI touches part 2, intro to UITabBarController
اصول بیشتر Swift، مقدمهای بر پکیجها، نگاهی به آینده
More Swift fundamentals, introduction to packages, looking ahead
Getters و Setters بخش ۱
Getters & Setters part 1
Getters و Setters بخش ۲
Getters & Setters part 2
توابع Lifecycle – UIViewController
Lifecycle functions - UIViewController
توابع Lifecycle – AppDelegate / SceneDelegate
Lifecycle functions - AppDelegate / SceneDelegate
توابع Lifecycle – UIView
Lifecycle functions - UIView
Child View Controllerها
Child view controllers
درک بهتر Closures (Escaping در مقابل Non-escaping)
Better understanding closures (escaping vs non-escaping)
عبارت Where
The where clause
معرفی توابع سطح بالاتر (Filter, Sort, Map, Reduce)
Introducing higher level functions (filter, sort, map, reduce)
سادهسازی Closures
Simplifying Closures
توابع Inout
Inout functions
تایپالیاس (Typealias)
Typealias
مقدمهای بر وابستگیهای پکیج و Swift Package Manager (SPM)
Intro to package dependencies & Swift Package Manager (SPM)
پکیجها از طریق Cocoa Pods
Packages via Cocoa Pods
مقدمهای بر SwiftUI و معماری MVVM
Introduction to SwiftUI and MVVM architecture
مقدمهای بر SwiftUI
Intro to SwiftUI
مقدمهای بر معماری MVVM
Intro to MVVM architecture
مقدمهای بر نماهای SwiftUI
Intro to SwiftUI views
چرا Struct و نحوه بهروزرسانی View با استفاده از ماکروهای State@ و Binding@
Why structs & How to update view using @State & @Binding macros
مقدمهای بر پروژه تمرینی SwiftUI
Intro to SwiftUI Practice Project
مقدمهای بر NavigationStack، Toolbar و NavigationLink
Intro to NavigationStack, toolbar, & NavigationLink
لیاوت NextView، TextField، SecureField، VStack، HStack، ZStack
Layout NextView, TextField, SecureField, VStack, HStack, ZStack
NextView confirmationDialog و ignoresSafeArea(.keyboard)
NextView confirmationDialog & ignoresSafeArea(.keyboard)
مقدمهای بر List و نمای سطر سفارشی
Intro to List & custom row view
تمرین بیشتر SwiftUI و MVVM – بازسازی اپلیکیشن YallBeTippin
More SwiftUI & MVVM practice recreating the YallBeTippin app
مقدمهای بر بازسازی YallBeTippin با استفاده از SwiftUI
Intro to recreating YallBeTippin using SwiftUI
راهاندازی پروژه – ایجاد مدل MenuItem، NavigationStack و MenuListView ما
Project Setup - Creating our MenuItem model, NavigationStack & MenuListView
ایجاد ViewModel و مقدمهای بر فریمورک Observation
Creating our ViewModel & Intro to the Observation framework
ایجاد رابط کاربری (UI) MenuItemView ما
Creating our MenuItemView UI
قابلیت MenuItemView – .onTapGesture, .buttonStyle, .alert, didSet
MenuItemView Functionality - .onTapGesture, .buttonStyle, .alert, didSet
ViewModel به عنوان Environment Object – .environment, @Environment, @Bindable
ViewModel as Environment Object - .environment, @Environment, @Bindable
منطق ناوبری (Navigation) بخش ۱
Navigation logic part 1
TipView و منطق ناوبری (Navigation) بخش ۲
TipView & Navigation logic part 2
TipButton، TipPercentage و بهروزرسانی ViewModel ما
TipButton, TipPercentage & Updating our ViewModel
ReceiptView – ForEach در یک List
ReceiptView - ForEach in a List
نکات پایانی – Navigation Pop به Root
Final Touches - Navigation Pop to Root
Please Do – عملیات CRUD فایربیس (Firebase) بخش ۱
Please Do - Firebase CRUD Operations part 1
معرفی Please Do
Introducing Please Do
راهاندازی پروژه بخش ۱
Project Setup part 1
راهاندازی پروژه بخش ۲
Project Setup part 2
افزودن HomeView
Add HomeView
افزودن ListView
Add ListView
افزودن مدل Item
Add Item Model
افزودن ListItemView
Add ListItemView
افزودن آیکون اپلیکیشن و Color Sets
Add App Icon & Color Sets
افزودن NavPath
Add NavPath
ادغام PR ما و حذف شاخههای قدیمی
Merging Our PR & Pruning Old Branches
بهبود منطق NavPath
Improve NavPath Logic
ادغام منطق ناوبری
Merging Navigation Logic
افزودن ListVM و دیالوگ تأیید
Add ListVM & Confirmation Dialog
افزودن Menu Pickers
Add Menu Pickers
افزودن CTAButton
Add CTAButton
تنظیم ItemDetailsView
Adjust ItemDetailsView
افزودن LoginTitleView
Add LoginTitleView
افزودن LoginFields
Add LoginFields
افزودن LoginButton
Add LoginButton
افزودن TogglePromptView
Add TogglePromptView
افزودن SignUpFields
Add SignUpFields
افزودن LoginVM
Add LoginVM
افزودن LoginManager
Add LoginManager
افزودن منطق احراز هویت (Auth Logic)
Add Auth Logic
ثبت نام کاربر جدید
Sign Up New User
ایجاد سند کاربر جدید
Create New User Document
Async Await
Async Await
راهاندازی Auth State Listener
Setup Auth State Listener
واگذاری LoginVM ما
Delegating Our LoginVM
افزودن ProgressView
Add ProgressView
ادغام تغییرات منطق احراز هویت (Auth Logic)
Merge Auth Logic Changes
Please Do – عملیات CRUD فایربیس (Firebase) بخش ۲
Please Do - Firebase CRUD Operations part 2
افزودن ItemsManager
Add ItemsManager
تجزیه داده به Item
Parse Data to Item
مرتبسازی داده و اطلاعرسانی به Delegate بخش ۱
Sort Data & Notify Delegate part 1
مرتبسازی داده بخش ۲
Sort Data part 2
اطمینان از منحصر به فرد بودن Items بخش ۱
Ensuring Items are Unique part 1
اطمینان از منحصر به فرد بودن Items بخش ۲
Ensuring Items are Unique part 2
تکمیل منطق واکشی Item
Finish Item Fetching Logic
نوشتن داده در Firestore
Write Data to Firestore
رابط کاربری (UI) نتایج آیتم جدید
New Item Results UI
پاکسازی Snapshot Listener ما
Cleaning Up Our Snapshot Listener
افزودن ItemDetailsVM
Add ItemDetailsVM
افزودن قابلیت بهروزرسانی Item
Add Update Item Functionality
رفع اشکال رابط کاربری (UI) اولویت ما
Fixing Our Priority UI
رفع اشکال منطق فوکوس کیبورد ما
Fixing Our Keyboard Focus Logic
جمعبندی پروژه
Project Wrap Up
تبدیل شدن به یک توسعهدهنده
Becoming A Developer
مهارتهای توسعهدهنده جونیور iOS
Junior iOS Developer Skills
نمایش نظرات