调查:生产环境中使用的Swift框架(iOS/macOS)
Swift生态系统持续快速发展,为生产项目选择正确的框架正变得越来越重要。由Swift.org社区发起并得到大型IT公司支持的一项针对iOS和macOS开发者的最新调查,揭示了真实情况:哪些技术真正用于实战环境,哪些仍处于实验阶段。
超过2500名来自50个国家的开发者参与了此次调查。受访者被要求指出他们在生产环境中(即已在App Store发布或用于企业环境的应用程序中)使用的框架。结果非常具有代表性。
UIKit仍是王者,但SwiftUI紧随其后
- UIKit — 87%的受访者仍在生产环境中使用它。这并不奇怪:庞大的遗留代码库、框架的成熟度以及对所有iOS版本的支持,使得UIKit在复杂界面中不可或缺。
- SwiftUI — 64%的开发者已将其应用于实际项目。然而,只有22%的人将SwiftUI作为唯一工具,其余的人通过representable包装器将其与UIKit结合使用。
- AppKit — 在macOS中占31%。有趣的是,用于桌面端(macOS)的SwiftUI目前仍落后:只有18%的人在Mac的生产环境中使用它。
网络和架构框架
在网络通信和架构数据领域,调查显示出明显的分化:
- URLSession — 93%(基础工具,并未过时)。
- Alamofire — 58%(受欢迎程度下降,但仍用于大型项目)。
- Combine — 41%(Apple的响应式编程框架正在积极取代RxSwift,后者仅被19%的人使用)。
- The Composable Architecture (TCA) — 27%(快速增长:一年内份额增长了12%)。
意外的热门与冷门
在专业框架中,值得关注的是Swift Charts(Apple)——33%的开发者已在应用程序中使用它进行数据可视化。而SwiftNIO(服务器端Swift)仍然是一个小众解决方案——只有6%的受访者在生产环境中使用它,这表明服务器端Swift尚未成为主流。
调查还显示,Core Data(39%)仍然坚挺,但落后于SwiftData(11%)以及像Realm(7%)或GRDB(5%)这样的第三方解决方案。
给开发者的结论
调查的主要结论是:纯UIKit的时代正在结束,但完全过渡到SwiftUI也为时过早。生产环境的最佳策略是混合方法。务必掌握Combine(它正成为响应式流的事实标准),并关注TCA(如果您在处理复杂架构)。对于macOS项目,目前更安全的选择仍是AppKit,但桌面端的SwiftUI正在迅速崛起。
请关注PythonLib的更新——我们将发布每个框架的解析文章并附上代码示例。