苹果发布 Swift 6.3:支持编写原生 Android 应用,C 互操作性再增强

倚天百科 百科资讯 2

3 月 25 日消息,苹果于当地时间 3 月 24 日正式发布了开源编程语言 Swift 最新的 6.3 版本,首次将 Android 开发正式纳入官方支持。

苹果表示:“Swift 的设计目标是在软件栈的每一层都能成为开发者的首选语言 —— 无论是嵌入式固件、大规模互联网服务,还是功能丰富的移动应用,Swift 都能提供强大的安全保障、按需的性能控制以及富有表现力的语言特性与 API。Swift 6.3 让这些优势在更多领域变得触手可及。”

本次版本更新将 Swift 扩展至新的应用场景,并全面提升了开发者体验,主要更新包括:更灵活的 C 互操作性、跨平台构建工具的改进、嵌入式环境下 Swift 使用的优化,以及官方 Android SDK 的支持。

语言与标准库

C 互操作性方面,Swift 6.3 引入了 @c 属性,允许开发者将 Swift 函数和枚举暴露给项目中的 C 代码。使用 @c 标注函数或枚举后,Swift 会在生成的 C 头文件中包含相应的声明,供 C/C++ 文件引用。

开发者还可以为生成的 C 声明指定自定义名称。@c 还可与 @implementation 配合使用,允许开发者用 Swift 实现已在 C 头文件中声明的函数,Swift 会自动校验函数签名是否匹配。

模块(名称)选择器

模块选择器是另一项重要新增功能。当项目导入多个包含同名 API 的模块时,开发者可以使用该功能明确指定要调用哪个模块的 API。Swift 6.3 还允许通过模块名称直接访问并发挥和字符串处理库中的 API。

库 API 的性能控制

对于库作者,Swift 6.3 提供了更细粒度的性能控制能力。新增的 @specialize 属性可以为泛型 API 针对常用具体类型提供预特化实现;@inline (always) 可强制编译器在调用点内联函数体;@export (implementation) 则允许将 ABI 稳定库中的函数实现暴露给调用方,使其参与更多编译优化。

Package 与 Build 改进

Swift 6.3 在 Swift Package Manager 中集成了 Swift Build 预览版,为所有平台带来了统一的构建引擎,提供更一致的跨平台开发体验。

Swift Package Manager 的其他改进包括:支持在仅用于宏的库中使用 swift-syntax 预编译二进制文件,以便将共享的宏实现代码提取到独立库中;命令行插件生成符号图时可控制是否包含继承的文档;新增 swift package show-traits 命令用于查看包支持的特性。

核心库更新

Swift Testing 测试框架获得了多项增强,主要包括警告级问题、测试取消、图像附件三项。开发者可使用 Issue.record 的 severity 参数指定问题严重级别,记录警告而不会将测试标记为失败。测试执行中可通过 try Test.cancel () 取消当前测试及其任务层级,这对参数化测试中跳过特定参数或根据运行时条件决定是否继续执行非常有用。图像附件功能使开发者可以在 Apple 和 Windows 平台上将常见图像类型附加到测试中。

另外,DocC 文档编译器新增三项实验性功能:支持生成 Markdown 格式的文档页面;支持在 index.html 的 <noscript> 标签中嵌入每页的轻量级 HTML 摘要(包含标题、描述、可用性、声明和讨论),无需 JavaScript 即可提升搜索引擎可发现性和屏幕阅读器可访问性;代码块新增 nocopy、highlight、showLineNumbers、wrap 等格式化注解,可灵活控制代码块的显示行为。

平台与环境

Swift 6.3 对嵌入式 Swift 进行了广泛改进,涵盖增强的 C 互操作性、更好的调试支持,以及在完整链接模型方面迈出了重要步伐。

本次发布的最大亮点是 Android 平台的官方支持。Swift 6.3 包含首个正式版 Android SDK,开发者可使用 Swift 开发原生 Android 程序,更新 Swift 包以支持 Android 开发流程,并通过 Swift Java 和 Swift Java JNI Core 将 Swift 代码集成到现有的 Kotlin / Java Android 应用中。这是 Swift 发展的重要里程碑,为跨平台开发开辟了新的可能性,详情请参阅《Android 版 Swift SDK 入门指南》。