Foundation 框架是苹果 macOS 和 iOS 的基础组件支持核心,几乎所有的 Swift 项目都使用 Foundation 框架,其主要包含了大量常用的 API,为许多基本功能提供了一个基础层,也为编写优秀的 Swift 代码奠定了基础。
swift-corelibs-foundation 项目在 2016 年帮助推出了 Foundation 的开源 Swift 版本,不过他们是将 Swift 层包裹在 Foundation 现有的开源 C 实现中。
随着这些年 Swift 在技术(如 ABI 稳定性)等方面的发展,Swift 开始重新评估开源 Foundation 的战略了。因此,他们宣布将以纯 Swift 形式重写 Foundation 框架,并开源。
当 Swift 作为一个开源项目开始运作时,我们不仅想开放语言本身,还想开放与之相关的生态。Foundation 在其推动 Swift 语言发展壮大过程中发挥了重要作用,从一开始就是 Swift 开发者体验中不可或缺的一部分,我们知道它必须包含在开源产品中。
为此,以纯 Swift 形式重写并开源的 Foundation 将实现以下一系列的技术目标:
- 有了 Foundation 的原生 Swift 实现,框架不再承担 C 和 Swift 之间的转换成本,从而获得更快的性能。作为一个以包形式开发的 Swift 实现,也使 Swift 开发者更容易检查、理解和贡献代码。
- 提供更小、更细化的软件包的选择:重写 Foundation 提供了一个机会,使其架构与不断变化的用例相匹配。
- 统一 Foundation 的实现:在跨平台移动代码时,任何 API 的多种实现都有可能导致不同的行为,并最终产生错误。这个新的 Foundation 包将作为 Foundation 的一个单一的、规范的实现的核心,而不管是什么平台。
根据公告,这个全新的 Foundation 框架将于 2023 年开源,并在 GitHub 上发布。