Swift Foundation 框架将用 Swift 重写,并开源


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 上发布。


相關推薦

2023-05-04

几个月前,Swift 社区宣布将以纯 Swift 形式重写 Foundation 框架,以改善 Swift 的跨平台开发。近日,基于 Swift 重写的 Foundation 发布了首个 Preview 预览版。 Foundation 框架是苹果 macOS 和 iOS 的基础组件支持核心,几乎所有的 Swift 项

2023-04-01

用它们的插件。 在使用 5.8 或更高版本的工具的包中,Foundation 不再被隐式导入包清单中。如果使用 Foundation API,则需要明确导入该模块。 SwiftSyntax 随着 SwiftSyntax 的 Swift 5.8 版本的发布,SwiftSyntax 包含一个完全重新编写的解

2023-01-19

OS 和 tvOS ),是开发中不可缺少的组件之一。 它建立在 Foundation URL Loading System 之上,扩展了 Cocoa 中内置的强大的高级网络抽象。它有一个模块化的架构,具有设计良好、功能丰富的 API,使用起来非常方便。 AFNetworking 上一

2022-11-25

性。这将导致可靠的诊断和可预测的性能。 在 Swift 中重写当前的过程间 side-effect 和 escape analyses,替换当前的 C++ 实现。新的实现提供了更准确的结果并且明显更简单。 更多详情可查看博客。 

2023-06-08

Data flow SwiftUI 不再使用 Combine,而是使用新的 Observation 框架。 Observation 框架提供了 Observable 协议,必须使用它来允许 SwiftUI 订阅更改和更新视图。 今年的更新把重点放在了 @State 和 @Environment 上,其它的都用 Macro 解决了。这

2022-09-13

泛型的语言改进之外,类型检查器的泛型实现也从头开始重写,在正确性和性能方面都有所改进。 新的实现修复了许多长期存在的错误,主要与处理复杂的同类型需求有关,例如对集合SubSequence关联类型的同类型需求,以及使

2022-02-08

向互操作性产生了极大的兴趣。因此该工作组将提供一个框架,以完善互操作层的目标和设计,并探讨对 Swift 编译器进行修改的方案,以支持两种语言的双向互操作性。 工作组的工作细节: 该工作组负责开发和设计 C++ 和

2023-08-23

可以轻松采用连接池 用于 Smoke、Hummingbird 和 Vapor 等 Web 框架的共享中间件实现 鼓励采用分布式跟踪,使 observability story 更加完善 更好地展示 Swift 在服务器部署和成功案例中的应用 提高 Swift 作为服务器语言的知名度

2023-06-08

Data flow SwiftUI 不再使用 Combine,而是使用新的 Observation 框架。 Observation 框架提供了 Observable 协议,必须使用它来允许 SwiftUI 订阅更改和更新视图。 今年的更新把重点放在了 @State 和 @Environment 上,其它的都用 Macro 解决了。这

2022-02-23

Swift 官方公告宣布,核心团队目前正在研究重组项目的领导层,以允许更多的社区成员积极参与该项目的管理。并证实了 Swift 之父、LLVM 项目创始人 Chris Lattner 将离开核心团队。Chris Lattner 早在 2010 年在苹果公司工作期间就已

2024-03-07

Swift 5.10 现已发布,此版本在并发语言模型中实现了完全的数据隔离。公告称,“这一重要的里程碑经过了多年的积极开发,历经多个版本。” 并发模型是在 Swift 5.5 中引入的,包括async/await、actors 和结构化并发 (structured concurre

2023-10-20

【源创会预告】1024 程序员节(的前两天),相约开源PHP办公室,我们一起聊 AI!>>> 2023 年 WebAssembly 现状调查报告现已出炉,一些亮点内容如下: Rust 和 JavaScript 的使用量正在持续增长。与此同时,Swift 和 Zig 的采用率也都

2022-03-24

tive。Hired 指出,Ruby on Rails 仍然是最方便和功能最强大的框架之一;且 React 的需求量也很大,初创公司和更多的成熟公司正在转向 React,因为他们希望重新构建他们的平台。 像 Kubernetes、AWS 和 Google Cloud Platform 的熟练程度这

2022-06-12

布,具体更新内容如下: 与 Objective-C 的并发互操作性 Swift 语言带有一组并发特性,包括异步函数和 actors。Objective-C 语言没有它们,因此异步 API 是通过使用 completion handlers 手动表达的。由于 Swift 和 Objective-C API 之间的紧密集