Swift 6.3:2026年3月发布的新构建系统与语言演进
Swift 6.3 将 Swift Build 集成到 Swift Package Manager 中,确保所有平台构建过程的一致性。由 Owen Voorhees 领导的核心构建团队测试了来自 swiftpackageindex.com 的数千个开源软件包。开发者现在可以通过编译器标志启用此系统。Swift 主分支已默认切换至 Swift Build,简化了在 Linux 和 Windows 上的跨平台开发。
系统级 Swift 的视频资源
最近的演讲和播客重点介绍了 Swift 在专业领域的应用:
- 在 SCaLE 会议上关于“容器化”的演讲,探讨了 Swift 在容器化中的实现。
- Swift 社区聚会:在 NVIDIA Jetson 上实现实时计算机视觉,以及使用 Vapor 构建 AI 数据管道。
- 在 Swift Academy 上对 Matt Massicotte 的采访,讨论了并行处理。
这些资源对于从事系统编程和性能优化的中高级开发者非常有价值。
实际用例与发布
Point-Free 描述了使用 SwiftPM Traits 进行 API 迁移:“硬”弃用会阻止使用,“软”弃用则发出警告。Daniel Gillg 在 Swift 博客上展示了在 Vapor 上使用 TelemetryDeck 进行服务器端遥测。JavaScriptKit 的发布改进了 BridgeJS,而 WasmKit 则推动了 Swift 在 WebAssembly 上的进展。
语言演进提案
Swift 团队正在评审和批准提案,以增强语言的灵活性。
正在评审中
SE-0522 引入了 @warn 属性,用于精细控制编译器警告。功能包括:
- 将警告提升为错误。
- 降级为警告。
- 完全禁用特定代码块的警告,而不影响整个模块。
这解决了 -warnings-as-errors 标志“全有或全无”的问题。
已批准的提案
- SE-0509:在 SwiftPM 中生成 SBOM。
- swift build 的 --sbom-spec 标志。
- swift package generate-sbom 命令,支持 CycloneDX 和 SPDX 格式。
适用于合规性和安全审计。
- ST-0021:Swift Testing 与 XCTest 的兼容性。
- XCTAssert 在 Swift Testing 中正常工作,不会被忽略。
- 如果 XCTest 中没有等效 API,则调用 Swift Testing 的 API。
- SE-0515:非可复制类型的
reduce。
- 支持非可复制的初始值和结果。
- 非借用变体,即使对于可复制类型也能避免复制。
这些变化扩展了 Swift 在高性能场景中的应用范围。
关键要点
- Swift Build 集成到 SPM 中,经过数千个软件包测试,确保跨平台兼容性。
- SE-0522 添加
@warn,实现对编译器诊断的精确控制。 - SwiftPM 中的 SBOM(SE-0509)通过 CycloneDX/SPDX 简化安全审计。
- 测试/XCTest 兼容性(ST-0021)和非可复制
reduce(SE-0515)增强了测试和算法的灵活性。 - 在 Wasm 和容器化方面的积极工作扩展了生态系统。
— Editorial Team
暂无评论。