截止到2022年5月21日,Apple 近4年活跃的iPhone设备中系统版本 >= iOS14 的数量已经占到了98%,所有iPhone设备中系统版本 >= iOS14的数量已经占到了7%。
数据已经摆在这了,那么现在我们是否还有必要支持iOS12呢?
经过我的实战经验,如果不支持iOS12,可以直接从SwiftUI+Combine入手开始写,遇到复杂的页面布局、交互、动画,再用RxSwift+UIKit,SwiftUI和UIKit可以很方便的桥接。
2021年12月底的数据显示,已经有85%的iOS设备升级到了iOS14,8%的设备停留在iOS13。
从Apple app-store
网站可以看出来
过去4年新增设备有92%是iOS13,一共有81%的设备是iOS13。
既然如此,新项目可以直接从iOS13开始了。
如果之前用的是RxSwift+UIKit,熟悉响应式编程理念和方法,那么从iOS13开始,可以直接使用SwiftUI+Combine。
Combine是Apple工程师开发的闭源框架,也是响应式编程理念,API与RxSwift相似,但是执行效率要高于RxSwift。
SwiftUI在布局界面上效率也比UIKit高,大多数场景也是适用的。
本文会持续收集参考资料,对比RxSwift和Combine。
References
RxSwift to Apple’s Combine “Cheat Sheet”
https://medium.com/gett-engineering/rxswift-to-apples-combine-cheat-sheet-e9ce32b14c5b
Combine vs RxSwift: Introduction to Combine and Differences
https://dzone.com/articles/combine-vs-rxswift-introduction-to-combine-amp-dif#:~:text=In%20Combine,%20every%20Publisher%20needs,errors%20that%20should%20be%20launched.
Will Combine kill RxSwift?
https://medium.com/flawless-app-stories/will-combine-kill-rxswift-64780a150d89
这里直接放地址链接,因为有时候简书不跳转。