WWDC 2024:Swift 和 Apple 平台的新动态
2024 年 6 月,一年一度的 Apple 全球开发者大会(WWDC)如期举行。尽管硬件新品众多,但传统上重点仍放在软件平台和开发者工具上。对于 Swift 社区以及所有为 iOS 和 macOS 编写代码的人来说,本次大会带来了一系列重要的公告。我们整理了目前值得关注的主要变化。
Swift 6:稳定性和性能
对开发者来说,最大的新闻是 Swift 6 的发布——该语言的一个新的主要版本。关键改进涉及并发系统(concurrency)。
- 严格并发检查(Strict Concurrency Checking):编译器现在默认启用更严格的检查,以防止数据竞争(data races)。这使得代码更加安全。
- 对 non-copyable 类型的改进支持:Swift 6 扩展了处理唯一资源(如文件描述符、缓冲区)的能力,使编译器能够更精确地管理对象的生命周期。
- 新的集合(C++ Interop):改进了与 C++ 标准库的兼容性,从而简化了遗留代码的集成。
此次更新还涉及标准库——新增了用于处理序列的算法,并改进了内存操作的性能。
SwiftUI 6:界面新功能
用于构建界面的框架获得了重大更新。SwiftUI 6 正成为一个越来越成熟的工具,能够在大多数项目中取代 UIKit。
- 自适应布局(Adaptive Layout):引入了新的修饰符,可根据屏幕尺寸、方向和 Dynamic Type 自动调整界面,无需编写额外代码。
- 新的动画 API:新增了关键帧动画(Keyframe Animations)并改进了过渡(transitions)支持。现在可以直接以声明式风格创建带有时间轴的复杂动画。
- Swift Charts 2.0:用于构建图表的库现在支持交互式元素:用户可以选择数据点、放大并查看弹出提示。
Xcode 16:提升生产力的工具
集成开发环境 Xcode 也未被忽视。主要创新涉及运行速度和调试方面。
- 快速预览(Live Previews):SwiftUI 预览现在通过增量编译几乎可以即时更新。
- 智能自动补全:新的机器学习模型(基于设备端 ML)在编写代码时提供更准确、更具上下文感知的建议。
- 改进的调试器:新增了对协程(async/await)状态查看的支持,以及实时依赖关系图的可视化。
适用于 iOS 18 和 macOS 15 的新框架
除了语言更新,Apple 还推出了几个扩展应用程序功能的框架:
- App Intents:现在开发者可以更深入地将他们的应用程序与 Siri 和 Shortcuts 集成,添加复杂的多步骤操作。
- TipKit:一个用于创建弹出提示和引导的现成框架