――The framework has evolved with the version upgrade of iOS. With the advent of SwiftUI and Combine, it is time to change the UI construction method and architecture. However, it is not possible to rewrite all existing products immediately. This time, I thought about adding to the strategy for gradually migrating to the new framework.
――It's a new Swift UI, but I think there are high hurdles to implement a complicated UI with Swift UI. This is because SwiftUI has only been around for about two years, and the framework is in the process of evolution, and I feel that there is a large difference in the APIs that can be used with the iOS version. --Regarding Combine, the soil to be implemented by Reactive Programming such as RxSwift is already prepared to some extent, and both UIKit and SwiftUI can be supported. Furthermore, if you are already using RxSwift etc., the learning cost will be low and it will be easy to replace the existing one. ――From the above results, we will proceed with the introduction of Combine.
⭕️ --If you set the support version to iOS13, you can use it without any problems.
❌ ――You have to get the consent of the people concerned that the service is in operation.
⭕️ --Easy to introduce --Works on iOS 13 and below --Combination and implementation can be implemented in the same way
❌ --Since it is added as a library, the binary size will increase. --I don't know if maintenance will be continued
⭕️ ――By making your own, it will be easier to understand the internal implementation. --You can control the range of influence yourself rather than using OpenCombine
❌ --Since you make your own, it costs learning depending on the demonstrator.
--Determine the architecture and implementation policy ――If you decide how to write it, it will be easier to maintain the code. -Implementing MVVM with SwiftUI and Combine --There are many samples on github, so it will be very helpful. - CombineCommunity/awesome-combine
Recommended Posts