返回首页

Swift 6.3:构建和新 SE 提案

Swift 6.3 在 SPM 中引入 Swift Build 以实现统一构建。批准 SE-0509 用于 SBOM、ST-0021 用于测试以及 SE-0515 用于 reduce。考虑带有 @warn 的 SE-0522。Vapor、Jetson 上的视频和案例概述。

Swift 6.3 和 SE 提案中的构建新时代
Advertisement 728x90

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 的采访,讨论了并行处理。

这些资源对于从事系统编程和性能优化的中高级开发者非常有价值。

Google AdInline article slot

实际用例与发布

Point-Free 描述了使用 SwiftPM Traits 进行 API 迁移:“硬”弃用会阻止使用,“软”弃用则发出警告。Daniel Gillg 在 Swift 博客上展示了在 Vapor 上使用 TelemetryDeck 进行服务器端遥测。JavaScriptKit 的发布改进了 BridgeJS,而 WasmKit 则推动了 Swift 在 WebAssembly 上的进展。

语言演进提案

Swift 团队正在评审和批准提案,以增强语言的灵活性。

正在评审中

SE-0522 引入了 @warn 属性,用于精细控制编译器警告。功能包括:

Google AdInline article slot
  • 将警告提升为错误。
  • 降级为警告。
  • 完全禁用特定代码块的警告,而不影响整个模块。

这解决了 -warnings-as-errors 标志“全有或全无”的问题。

已批准的提案

  • SE-0509:在 SwiftPM 中生成 SBOM。

- swift build--sbom-spec 标志。

- swift package generate-sbom 命令,支持 CycloneDX 和 SPDX 格式。

Google AdInline article slot

适用于合规性和安全审计。

  • 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

Advertisement 728x90

继续阅读