Skip to content

SwiftFMI/iOS_2024_2025

Repository files navigation

Курс по програмиране за iOS със Swift и SwiftUI

Курс, в който се използва SwiftUI като основна технология за създаване на мобилни приложения за iOS.

Репозитори, в което се съхряняват лекциите за курса по iOS със SwiftUI и примерите към тях.

Анкета

Моля, попълнете следната анкета.

Теми

Това е списък на лекциите и темите, които ще бъдат разгледани по време на курса.

  1. История на iOS и Swift
    1. За курса,
    2. Представяне на екипа
    3. Как ще се оценява
    4. iOS - история и структура
      1. Swift и Obj-C (C & C++)
      2. Unix
      3. Слоеве CoreOS, Core Services, Media, Cocoa Touch
      4. UIKit & SwiftUI
  2. Xcode, Playground, iPadOS
    1. Структура на базово SwiftUI приложение
    2. Структура на базово UIKit приложение
    3. UIApplication, AppDelegate
    4. .swift, .storyboard
    5. Project, target, scheme, info.plist, capabilities
  3. Swift - from Structs to Closures
    1. Основи на езика. Лекции от другия курс.
    2. Structs & Protocols
    3. Classes & Closures
    4. Extensions & Generics
    5. Property Wrapper
  4. SwiftUI intro
    1. Основни елементи - button, Slider, stepper, spacer, Containers
    2. View Hierarchy
    3. Overlay
    4. View Live Cycle
    5. Graphics
  5. Layout containers
    1. HStack, Lazy
    2. VStack, Lazy
    3. Group
    4. Grid
  6. Design Patterns
    1. MVVM, MVC
    2. Delegate и Observer - теория
    3. Combine, Singleton
  7. Data flow in SwiftUI
    1. @State,
    2. @StateObject,
    3. @EnvironmentObject
    4. @ObservableObject
    5. @ObservedObject
  8. Navigation Controller
    1. Tabbar controller
    2. SplitView controller
    3. Scenes
    4. Navigation Between Screens (Navigation Link)
  9. Animations
    1. TBD
    2. Canvas
  10. Networking
    1. await async
    2. urlsession
    3. SwiftPackageManager + OpenSource (alamofire)
    4. Combine
  11. Persistance
    1. User Defaults
    2. Keychain, Files
    3. Firebase
  12. Maps & Photos & WKWebView
    1. WKWebview compoennt and integration of UIKit items in SwiftUI
    2. Integration of SwiftUI in UIKit project
  13. Gestures
    1. Как да разпознаваме различни жестове в SwiftUI?
  14. App store, iTunesConnect, Apple Developer program
    1. Application metadata etc
    2. Manual build/upload to testflight
    3. Xcode cloud
    4. Fastlane

Допълнителни теми, които са интересни и полезни:

  1. Unit testing with SwiftTest
  2. CoreData & SwiftData
  3. UITesting

Практически изпит (midterm)

Използвайте следния инструмент, за да свалите заданието според варианта си. https://download-directory.github.io/

Финални проекти

Финалните проекти като описания може да намерите тук.

Разпределението по отбори, ще бъде обявено след гласуване от страна на студентите.

Ако има твърде много желаещи да реализират конкретен проект, ще се ограничим до два отбора на тема.

About

iOS Programming with Swift - SwiftUI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages