调查:2024年生产环境中使用哪些 Swift 框架

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

调查:生产环境中使用哪些 Swift 框架



Swift 生态系统持续积极发展:从 iOS 和 iPadOS 的移动开发,到 macOS、watchOS 的原生应用以及服务器端解决方案。但哪些框架真正应用于实际商业项目,而不仅仅是教学教程?我们对从事生产环境产品开发的 Swift 开发者进行了一项调查,并分享结果。



调查方法

本次调查共有 340 名来自俄罗斯及独联体国家的 Swift 开发者参与。受访者均为具有 1 年至 10 年以上商业开发经验的专业人士。参与者需选择其当前生产环境项目(iOS/macOS)中使用的主要框架,允许多选。



生产环境中的五大 Swift 框架

  • SwiftUI — 78% 的受访者。构建界面的主要框架。尽管问世时间较短(2019 年),SwiftUI 在新项目中的使用频率已超过 UIKit。主要原因:声明式语法、自动适配深色模式和 Dynamic Type。
  • Combine — 62% 的受访者。用于响应式编程的框架。用于处理异步事件、将数据与 UI 绑定以及处理网络请求。尤其与 SwiftUI 搭配使用时非常流行。
  • UIKit — 55% 的受访者。在维护遗留项目以及需要精细调整界面或支持旧版 iOS(低于 13.0)的应用中仍然需求旺盛。
  • Alamofire — 48% 的受访者。最流行的第三方 HTTP 请求处理框架。简化了网络层的编写,支持拦截器、序列化和缓存。
  • Core Data / SwiftData — 41% 的受访者。用于处理本地数据库的框架。SwiftData 是 2023 年的新秀,已在生产环境中积极部署(18% 的受访者使用)。


意外结果

  • Vapor — 12% 的受访者。基于 Swift 的服务器端框架,用于创建 REST API 和微服务。目前仍属小众解决方案,但受欢迎程度正在上升:2022 年仅为 7%。
  • Realm — 9% 的受访者。MongoDB 提供的 Core Data 替代方案。尽管使用方便,但仍不及 Apple 内置解决方案。
  • RxSwift — 8% 的受访者。曾是响应式编程的领导者,但由于与 Apple 生态系统的原生集成,现已落后于 Combine。


macOS 使用什么?

我们单独关注了 macOS 开发。在此领域,AppKit(旧项目)和 SwiftUI(新项目)领先。此外,Sparkle 也很流行——这是一个用于应用自动更新的框架。23% 从事 macOS 产品开发的受访者使用它。



结论

2024 年的主要趋势是——转向 SwiftUI 和 Combine 作为新项目的主要技术栈。UIKit 仍用于维护,但新功能的生产环境部署已基于 SwiftUI。对于服务器端开发,Swift 尚未成为主流,但 Vapor 显示出稳健的增长。如果您刚开始学习 Swift

推荐库