An iOS SwiftUI OpenDota Heroes Browser built with (almost) VIPER
- SwiftUI
- Coredata
- Codable
- Carthage (https://github.com/Carthage/Carthage)
- Alamofire (https://github.com/Alamofire/Alamofire)
- Moya (https://github.com/Moya/Moya)
- Kingfisher SwiftUI (https://github.com/onevcat/Kingfisher)
- QGrid (https://github.com/Q-Mobile/QGrid)
- Introspect (https://github.com/siteline/SwiftUI-Introspect)
To proof that Routing (or Coordinating or Wireframing) on SwiftUI is hard to implement with vanilla VIPER when using NavigationLink
|Wireframe| <-- (as Dependency Injection, its not used as router here)
__|__ | | | |
|SwiftUI| <--> |View| <--> |Presenter| <--> |Interactor| <--> |Entity|