Курс, в който се използва SwiftUI като основна технология за създаване на мобилни приложения за iOS.
Репозитори, в което се съхряняват лекциите за курса по iOS със SwiftUI и примерите към тях.
Моля, попълнете следната анкета.
Това е списък на лекциите и темите, които ще бъдат разгледани по време на курса.
- История на iOS и Swift
- За курса,
- Представяне на екипа
- Как ще се оценява
- iOS - история и структура
- Swift и Obj-C (C & C++)
- Unix
- Слоеве CoreOS, Core Services, Media, Cocoa Touch
- UIKit & SwiftUI
- Xcode, Playground, iPadOS
- Структура на базово SwiftUI приложение
- Структура на базово UIKit приложение
- UIApplication, AppDelegate
- .swift, .storyboard
- Project, target, scheme, info.plist, capabilities
- Swift - from Structs to Closures
- Основи на езика. Лекции от другия курс.
- Structs & Protocols
- Classes & Closures
- Extensions & Generics
- Property Wrapper
- SwiftUI intro
- Основни елементи - button, Slider, stepper, spacer, Containers
- View Hierarchy
- Overlay
- View Live Cycle
- Graphics
- Layout containers
- HStack, Lazy
- VStack, Lazy
- Group
- Grid
- Design Patterns
- MVVM, MVC
- Delegate и Observer - теория
- Combine, Singleton
- Data flow in SwiftUI
- @State,
- @StateObject,
- @EnvironmentObject
- @ObservableObject
- @ObservedObject
- Navigation Controller
- Tabbar controller
- SplitView controller
- Scenes
- Navigation Between Screens (Navigation Link)
- Animations
- TBD
- Canvas
- Networking
- await async
- urlsession
- SwiftPackageManager + OpenSource (alamofire)
- Combine
- Persistance
- User Defaults
- Keychain, Files
- Firebase
- Maps & Photos & WKWebView
WKWebviewcompoennt and integration ofUIKititems inSwiftUI- Integration of
SwiftUIinUIKitproject
- Gestures
- Как да разпознаваме различни жестове в SwiftUI?
- App store, iTunesConnect, Apple Developer program
- Application metadata etc
- Manual build/upload to testflight
- Xcode cloud
- Fastlane
Допълнителни теми, които са интересни и полезни:
- Unit testing with
SwiftTest CoreData&SwiftData- UITesting
Използвайте следния инструмент, за да свалите заданието според варианта си. https://download-directory.github.io/
Финалните проекти като описания може да намерите тук.
Разпределението по отбори, ще бъде обявено след гласуване от страна на студентите.
Ако има твърде много желаещи да реализират конкретен проект, ще се ограничим до два отбора на тема.