Swift 3 API 设计指南
常用库的设计对编程语言的整体感觉有很大影响。优秀的库感觉就像语言本身的扩展,库之间的一致性提升了整体开发体验。为了帮助构建优秀的 Swift 库,Swift 3 的主要目标之一是定义一套 API 设计指南,并一致地应用这些设计指南。
定义 Swift API 设计指南的工作涉及几个主要部分,这些部分共同旨在为 Swift 开发提供更具凝聚力的感觉。这些主要部分是:
-
Swift API 设计指南:实际的 API 设计指南正在积极开发中。Swift API 设计指南的最新草案已发布。
-
Swift 标准库:整个 Swift 标准库正在进行审查和更新,以遵循 Swift API 设计指南。实际工作正在 Swift 仓库的 swift-3-api-guidelines 分支上进行。
-
导入的 Objective-C API:Objective-C API 到 Swift 的转换正在更新,以使用各种启发式方法使 Objective-C API 更好地匹配 Swift API 设计指南。更好地将 Objective-C API 转换为 Swift 提案描述了这种转换是如何完成的。由于这种方法自然涉及许多启发式方法,我们跟踪其对 Cocoa 和 Cocoa Touch 框架以及使用这些框架的 Swift 代码的影响。Swift 3 API 设计指南审查仓库提供了一种查看这种自动转换如何影响使用 Cocoa 和 Cocoa Touch 的 Swift 代码的方式。然后,将对转换为 Swift 效果不佳的特定 Objective-C API 进行注释(例如,使用
NS_SWIFT_NAME
),以改进生成的 Swift 代码。虽然此更改主要影响 Apple 平台(Swift 在其中使用 Objective-C 运行时),但它也直接影响跨平台的 Swift 核心库,这些库提供与 Objective-C 框架相同的 API。 -
Swift 指南检查:现有的 Swift 代码是按照各种不同的编码风格编写的,包括 Objective-C Cocoa 编码指南。通过利用用于导入 Objective-C API 的启发式方法,Swift 编译器可以(可选地!)检查不符合 Swift API 设计指南的常见 API 设计模式,并提出改进建议。
-
Swift 2 到 Swift 3 迁移器:对 Swift 标准库和导入的 Objective-C API 的更新是源不兼容的更改。这项工作将涉及创建一个迁移器,以更新 Swift 2 代码以使用 Swift 3 API。
所有这些主要部分都在积极开发中。如果您有兴趣跟进,请查看 Swift API 设计指南、Swift 标准库更改、Objective-C API 导入器更改提案和相应的 审查仓库,然后加入 swift-evolution 邮件列表上的讨论。