苹果公司发布了Swift 6.4,这是对该编程语言的一次全面升级,改进涵盖核心库API、构建流程、调试功能、与其他平台的互操作性以及性能表现。

Swift 6.4于9月15日正式发布。苹果公司的Joe Heck和Holly Borla在发布公告中写道:“Swift的目标是成为整个技术栈中的优秀选择,从应用程序、服务器到系统代码、嵌入式设备乃至浏览器都能胜任。此次发布进一步深化了这种支持,让日常编码工作变得更简单。”他们列举了本次发布的以下亮点:

Swift Build现已成为Swift Package Manager中的默认构建工具,这意味着开发者的项目可以在Linux、macOS和Windows上以相同方式构建。

Subprocess功能达到1.0版本,提供了一种稳定的跨平台方式,让开发者能够从Swift中运行并与其他程序交互,涵盖从命令行工具到流式处理进程的各种场景。

互操作性得到进一步拓展,Swift的Span现在可以直接与C++20的std::span进行桥接,Swift/Java互操作也扩展了对异步和回调的支持。

Swift在浏览器中的运行速度更快,通过JavaScript kit进行的WebAssembly桥接速度提升最高达40倍,Wasm SDK现已可以直接从Swift.org获取。

Embedded Swift的能力进一步增强,为微控制器级别的目标设备提供了存在类型支持以及更丰富的错误处理机制。

在保持内存安全性的同时性能也有所提升,新增的数组类型可以容纳不可复制元素而无需承担写时复制的开销,全新的Iterable协议也能实现无需复制的迭代操作。

据公告介绍,Swift 6.4还完成了对编译器如何在调试信息中追踪Swift模块这一机制的多版本改造工作。LLDB现在通过精确的依赖追踪来导入模块,而不再依赖按名称查找的方式。由于二进制Swift模块不再被嵌入其中,Linux和Windows平台上的调试构建版本,以及Darwin平台上的dSYM包体积都显著缩小。此外,Swift 6.4在延续此前针对Span、不可复制类型和InlineArray的相关工作基础上,让开发者在保持内存安全的前提下更容易避免不必要的数据复制。

Q&A

Q1:Swift 6.4带来了哪些主要改进?

A:Swift 6.4的改进涵盖核心库API、构建流程、调试功能、跨平台互操作性以及性能表现,包括Swift Build成为默认构建工具、Subprocess达到1.0版本、与C++20和Java的互操作性增强、浏览器中运行速度提升等多项内容。

Q2:Swift Build成为默认工具后有什么变化?

A:Swift Build现已成为Swift Package Manager中的默认构建工具,这意味着开发者的项目可以在Linux、macOS和Windows三个平台上以相同的方式进行构建,提升了跨平台开发的一致性。

Q3:Swift 6.4在调试方面做了哪些优化?

A:Swift 6.4完成了编译器追踪Swift模块调试信息的多版本改造,LLDB现在通过精确依赖追踪导入模块而非按名称查找,同时Linux、Windows的调试构建和Darwin的dSYM包体积都显著缩小。

InfoWorld