Swift 核心库

Swift 核心库项目提供比 Swift 标准库更高级的功能。这些库提供了强大的工具,开发者可以在 Swift 支持的所有平台上依赖这些工具。核心库的目标是在以下关键领域提供稳定且有用的功能:

项目状态

这些库是我们为扩展 Swift 的跨平台功能而进行的持续工作的一部分。我们选择将它们作为开源版本的一部分,以便我们可以与社区一起进行开发。

从头开始编写代码以提供所有这些功能将是一项巨大的工程。因此,我们决定通过利用在这些领域已经完成的出色工作来启动这个项目。具体来说,我们将重用 API 以及来自三个现有库的尽可能多的实现:FoundationlibdispatchXCTest


Foundation

Foundation 框架定义了几乎所有应用程序都需要的底层功能。它提供了原始类,并引入了几种范式,这些范式定义了语言或运行时未提供的功能。它的设计考虑了以下目标:

有关 Foundation 框架的更多信息,请参阅 Apple 的文档。 版本的 Foundation 使用了许多与 Apple 实现相同的底层库(例如 ICU 和 CoreFoundation),但它的构建完全独立于 Objective-C 运行时。因此,它是相同 API 的实质性重新实现,使用了纯 Swift 代码,并构建在这些通用的底层库之上。有关这项工作的更多信息,请访问我们的 GitHub 项目页面

libdispatch

Grand Central Dispatch (GCD 或 libdispatch) 为多核硬件上的并发代码执行提供了全面的支持。

libdispatch 目前在所有 Darwin 平台上都可用。该项目旨在使现代版本的 libdispatch 在所有其他 Swift 平台上都可用。为此,我们将使用现有的开源 C 实现,尽可能多地实现 API 的可移植子集。

有关 Linux 版 libdispatch 的更多信息,请访问我们的 GitHub 项目页面

XCTest

XCTest 库旨在为在 Swift 中为 Swift 软件包和应用程序编写单元测试提供一个通用框架。

此版本的 XCTest 使用与您在 Xcode 中熟悉的 XCTest 相同的 API。我们的目标是使您项目的测试能够在所有 Swift 平台上运行,而无需重写它们。

有关 Linux 版 XCTest 的更多信息,请访问我们的 GitHub 项目页面


如上所述,该项目仍处于早期阶段。我们期待与社区共同努力,创建一套出色的库,使 Swift 能够在跨平台环境中开发强大的软件。