Swift 核心库

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

项目状态

这些库是我们持续扩展 Swift 跨平台能力的工作的一部分。我们选择将它们作为开源项目发布,以便与社区共同开发和完善。

如果要从零开始编写提供所有这些功能的代码,将是一项庞大的工程。因此,我们决定通过复用现有优秀库的 API 和尽可能多的实现来启动该项目。具体来说,我们将复用以下三个现有库的 API 和实现:FoundationlibdispatchXCTest


Foundation

Foundation 框架定义了几乎所有应用程序所需的基础功能层。它提供了基本的类,并引入了若干概念,定义了语言或运行时未提供的功能。它的设计目标包括:

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

libdispatch

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

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

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

XCTest

XCTest 库旨在为 Swift 提供一个通用的单元测试框架,用于 Swift 包和应用的测试编写。

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

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


正如前述所言,该项目仍处于早期阶段。我们期待与社区携手,共同打造一套强大的库,使 Swift 能够在各个平台上开发出优秀的软件。