Why VIPER and MVVM in SwiftUI are the same pattern | Dark Hacker News