i-Punks-SwiftUI

Sample repository for learning SwiftUI & Combine.
This repository is a rewrite of the following MVVM (RxSwift) app with SwiftUI and Combine.
https://github.com/iiinaiii/i-Punks

Environment

Xcode11 beta5

Architecture overview

MVVM + Layerd architecture

MVVM

  • Same as common MVVM, it divides the responsibilities into View/ViewModel/Model

Layered architecture

  • Model layer is divided into three, UseCase/Domain/Infra, according to each responsibility.

Combine

  • Combine is used to pass the data of each layer.

SwiftUI

  • SwiftUI is used to display View contents.
  • ScrollView is probably unstable, not able to display multiple lines of Text and all content.