调查:哪些 Swift(iOS/macOS)框架用于生产环境
Swift 开发者社区持续活跃增长,框架生态系统也随之壮大。我们针对专业 Swift 开发者进行了一项调查,以了解哪些工具真正用于 iOS 和 macOS 的实际商业项目中。超过 500 名来自俄罗斯和独联体国家的工程师参与了此次调查。以下是关键结果。
领先者:SwiftUI 与 UIKit——世代之争
用于构建用户界面的两个框架无疑是热门之选:
- SwiftUI——68% 的受访者在生产环境中使用它。主要原因:声明式语法、代码量更少以及与 Xcode Previews 的出色集成。然而,该框架仍需要 iOS 15+ 才能实现全部功能,这限制了它在需要广泛支持旧设备项目中的应用。
- UIKit——54% 的开发者继续使用它,并且通常与 SwiftUI 混合使用。对于复杂的自定义动画、集合操作以及对 iOS 12–14 的支持,UIKit 仍然不可或缺。
有趣的是,22% 的受访者表示他们同时使用这两个框架,通过 UIHostingController 进行组合。
网络请求与架构
在网络和数据架构方面,情况如下:
- URLSession(内置)——71%。尽管出现了第三方库,Apple 的解决方案仍然是事实上的标准。
- Alamofire——33%。在涉及缓存、重试和日志记录的复杂场景中仍然流行。
- Combine——29%。用于响应式编程,通常与 SwiftUI 和 MVVM 结合使用。
- Async/await(原生)——45%。增长迅速,尤其是在新项目中。
服务器端 Swift:Vapor——无可争议的领导者
对于使用 Swift(macOS/Linux)进行后端开发,结果明确:
- Vapor——在编写 Swift 后端的开发者中占 78%。该框架提供完整的技术栈:路由、ORM(Fluent)、身份验证和 WebSocket。
- Hummingbird——9%。轻量且快速,但目前仍属于小众。
- Kitura(IBM)——3%。几乎已退出市场,支持已停止。
数据存储与缓存
在本地存储方面,领先的是:
- Core Data——41%(更常见于旧项目中)。
- SwiftData——27%(增长迅速,尤其是在 iOS 17+ 中)。
- Realm——15%(由于 MongoDB 停止积极支持而失去优势)。
- UserDefaults / Keychain——89%(几乎所有开发者都用于简单设置)。
其他值得注意的发现
调查还显示,62% 的开发者使用 Swift Package Manager 作为主要的依赖管理工具。CocoaPods 和 Carthage 正在成为过去——它们的份额分别下降至 18% 和 5%。
此外