本文最初发布于 Dev Class。
苹果全球开发者大会(WWDC)正在旧金山苹果公司总部库比蒂诺进行当中,其中一项重要议题是 Swift 语言。该语言已有十年的历史。大会宣布了 Swift 6、基于 AI 的工具,以及再次推动 Swift 生态系统跨平台发展的举措。
Xcode 和 Swift Playgrounds 高级经理 Ken Orr 表示,Apple Intelligence 将“为我们的工具带来生成式模型的强大功能”。他还补充说,苹果已经创建了自己的模型,并且可以感知最新的 API 和语言特性,以及最佳实践。这将为苹果的通用 IDE Xcode 提供一个新的代码补全预测引擎,使 AI“在你的 Mac 上本地运行,保证代码的私密性。”
另外一项新功能是苹果的编程伙伴 Swift Assist。它可以接收自然语言输入,并生成相应的代码。与代码补全不同,这种人工智能功能是在云上处理请求的。Orr 承诺,“你的代码永远不会存储在服务器上”,并且不会用于训练模型,仅用于特定的请求。
在 WWDC 大会上,语言和运行时主管 Ted Kremenek 谈了 Swift 6 的发布。这个版本已经开发了好几年。完整版本应该很快就会发布,尽管在撰写本文时,当前提供下载的版本仍然是 Swift 5.10.1。Swift 5.0 于 2019 年 3 月发布,之后又发布了一些点版本。在本次大会上,Kremenek 重点介绍了一个关键的新特性:编译时数据竞争安全——这是一个可选特性,因为它包含破坏性的更改。他还提到了嵌入式 Swift。这是 Swift 的一个子集,可用于微控制器和其他嵌入式系统。
不过,关于 Swift 的新闻,最值得注意的一个方面是苹果为将这种语言推广到苹果平台之外所做的努力。Kremenek 表示,苹果正在“与开源社区合作,将 Swift 带到更多的平台和领域。”其目标包括在 Visual Studio Code(VS Code)和其他使用语言服务器协议(用于提供智能编辑特性)的编辑器中支持 Swift。除了现在已经支持的 Ubuntu、CentOS、Amazon Linux 和 Red Hat 之外,Linux 支持将扩展到 Debian 和 Fedora。Windows 支持也将得到改进。
Kremenek 介绍了一个新的 GitHub 组织,它将托管“对生态系统至关重要”的存储库。目前,其中包括用于维护变更建议的 swift-evolution,用于官方 VS Code 扩展的存储库,以及另一个名为 Swiftly 的项目。该项目用于从命令行管理 Swift 工具链,提供类似 Rust rustup 的体验。
在 Swift 官方网站的一篇文章中,Kremenek 指出,新组织还会包含其他的关键存储库,包括编译器、核心工具、标准库、示例和 Swift.org 网站内容。为尽量减少干扰,迁移将分阶段进行。
Swift 1.0 于 2014 年 6 月推出,是 Objective-C 的一种安全而现代的替代品。在此之前,苹果平台上的大多数开发都是用 Objective-C。2015 年,在 Linux 的支持下,Swift 开源,人们希望它能成为一种广泛使用的语言,而不仅仅局限于苹果平台。然而,到目前为止,它在通用应用程序中的应用还很少。例如,IBM 是服务器端 Swift 的早期倡导者,他们创建了一个名为 Kitura 的开源框架来支持它,但大部分支持在 2019 年已经停止。
行业观察人士应该会注意到,Tim Sneath 于 2023 年 6 月加入苹果,担任 CoreOS 和开发工具 / 框架总监。Sneath 在推广跨平台应用框架方面有着丰富的经验——包括微软的 Silverlight。然后,最引人注目的是,他在谷歌管理过 Flutter 和 Dart 产品及用户体验。
另一个推动跨平台 Swift 的因素是 The Browser Company。该公司基于 Chromium 的 Arc 浏览器有些部分就是在 Windows 上使用 Swift 构建的。他们为此创建了 WinRT 绑定,现在都已经开源。
面向 Windows 的 Swift 并不是什么新鲜事,而面向 Linux 的 Swift 可以追溯到 2015 年。在全球开发者大会上,苹果全球开发者关系副总裁 Susan Prescott 在平台主题演讲中提到,“Swift 正在向 Windows 和 Linux 扩展”——这表明苹果对于推动 Swift 语言跨平台发展是认真的。
原文链接:
声明:本文为 InfoQ 翻译,未经许可禁止转载。
评论