iOS Architectures
Docs
API
Reference
- Started from Pawel Krawiec's ios-architecture & Bo-Young PARK's BringMyOwnBeer-
- Studied MVVM+RxSwift with Miguel Lin's RxSwift-MVVM-Demo
- Studied Coodinator Pattern with wojciech-kulik's Swift-MVVMC-Demo
- Studied Clean Architecture with Oleh's iOS-Clean-Architecture-MVVM
Thank for people of this list!
Screenshots
List | Search | Random |
---|---|---|
Concept
Environment
Swift 5, Xcode 12.5
0. Shared
Image Download - Kingfisher
Package Management - Cocoapods
$ pod install
Objc-MVC
1.UI - Storyboard
Image - NSCache
Network - NSData to Json
MVC - storyboard
1.UI - Storyboard
Network - URLSession
MVC - snapKit
2.UI - SnapKit
Network - URLSession
MVP - snapKit
3.UI - SnapKit, Then
Network - URLSession
MVVM - RxSwift - storyboard
4.UI - Storyboard, RxDatasource
Network - RxURLSession
Unit Tests
MVVM - RxSwift - xcodegen
4-1.UI - Storyboard, RxDatasource
Network - RxURLSession
Unit Tests
Xcodegen
$ brew install xcodegen
$ cd MVVM-RxSwift-xcodegen/
$ xcodegen
MVVM - RxSwift - tuist
4-2.UI - Storyboard, RxDatasource
Network - RxURLSession
Unit Tests
Tuist
$ bash <(curl -Ls https://install.tuist.io)
$ cd MVVM-RxSwift-tuist/
$ tuist generate
CocoaPods, SPM, Carthage + Rome
4-3.SPM,
- Rome, Carting, Fastlane
$ chmod +x carthage.sh
$ ./carthage.sh update --platform iOS
Reference
MVVM - RxSwift - snapKit
5.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
MVVM - RxSwift - coreData
5-1.UI - SnapKit, Then, RxDatasource
Network - RxURLSession
Repositoy Pattern - CoreData
Unit Tests
MVVM - RxSwift - realm
5-2.UI - SnapKit, Then, RxDatasource
Network - RxURLSession
Repositoy Pattern - Realm
Unit Tests
MVVM - RxSwift - sqlite
5-3.UI - SnapKit, Then, RxDatasource
Network - RxURLSession
Repositoy Pattern - Sqlite3
Unit Tests
Clean Architecture - MVVM - RxSwift - coredata
5-4.5-1. MVVM - RxSwift - coreData to Clean Architecture
MVVM-C - RxSwift
6.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
CI - Github Actions
MVVM-C - RxSwift - Swinject
6-1.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
CI - Github Actions
DI - Swinject
MVVM - RxSwift - RxFlow
7.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
Clean Architecture - RxFlow - Swinject
7-1.
ReactorKit - RxFlow
8.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
VIPER + Rx
9.UI - SnapKit, Then, RxDatasource
Network - Moya
Unit Tests
VIPER Template - VIPER + Rx Xcode Template
RIBs + Rx
10.Package Management - SPM
UI - SnapKit, Then, RxDatasources
Network - Moya
Unit Tests
Reference
SwiftUI- MV
1.Using @State only
Network - Moya
SwiftUI-MVVM
2.Using @Published
Network - Moya
Unit Tests
SwiftUI-MVVM-Combine
3.Using Combine's PassthroughSubject
Network - Moya
Unit Tests
Clean Architecture - MVVM - Combine
3-1.Using Combine's PassthroughSubject
Network - Moya
Unit Tests