苹果现已支持 Swift 包索引
Dave Verwer 和 Sven A. Schmidt 于三年前(2019 年)创建了 Swift 包索引,目的为让 Swift 开发者能够轻松地搜索发现 Swift 包。目前该项目已正式获得苹果的赞助,使其成为 Swift 包相关事宜的官方网站。
顾名思义,Swift 包索引并不是完整的软件包仓库,而是专注于为软件包元数据编制索引,为开发者们在决定项目要使用的软件包时提供其完善的信息。
其所能回答的问题包括:某个软件包已经开发了多长时间、作者授权代码的方式、拉取请求和问题是否有人关注和回应等等。乍看之下,索引中软件包的页面可能与其 GitHub 页面相差无几,但我们将元数据的关注点放在了软件包的潜在用户相关方面。
目前,该索引所包含的超五千个软件包几乎所有都是托管在 GitHub 上。每个软件包都是克隆的,有不同 Swift 版本和平台兼容性构建的评估,并收集元数据以确认其基本信息。
我们目前所说的“构建系统”,平均每天处理五千个构建,共计五百余万次构建。这一操作是如此地庞大,以至于我们需要为其定制一个监控应用程序。
每个软件包的构建步骤结果,都总结在了一个兼容性矩阵中。
近期,包索引已开始向社区提供一个软件包文档的托管平台,文档对人们是否决定使用某个依赖关系而言往往是至关重要的。
任何软件包作者现在都可选择是否使用文档的生成,只要构建系统能够完成一次成功的构建,我们便会托管该版本号的 DocC 文档。
苹果推出 Swift 包管理作为 Swift 代码分发的官方工具,为已经失去功效的服务开辟了一条新赛道,其中就包含由 IBM 适时推出但未能获得开发者们足够重视的“IBM Swift 包分类”服务。IBM Swift 包分类先是被 Vapor 社区包分类 API 所取代,随后又被 Swift 包注册取代,后者与刚刚获得苹果认可的 Swift 包索引并不是一回事。
与其他软件包仓库,如 CocoaPods 或 Carthage 相比,Swift 包管理的优势在于其与 Swift 构建系统的集成和在 Xcode 之中的紧密集成,因此,后者的使用对开发者而言几乎是完全透明的。不过,CocoaPods 和 Carthage 除了 Swift 包之外,也支持 Objective-C 包。
原文链接:
The Swift Package Index is now Backed by Apple(https://www.infoq.com/news/2023/03/apple-swift-package-index/)
相关阅读:
从探索到落地,手淘引入 Swift“历险记”(https://www.infoq.cn/article/LVg8YPxsNvl2u8wuxWlD)
如何用 Swift 重写 C++/ObjC 代码库,并将其缩减 70%(https://www.infoq.cn/article/SH3KGISMFcHz0gZRVAaH)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
中国开源项目贡献者已超过10万!《中国开源生态图谱 2023》发布
Databricks来搅局了:0门槛克隆ChatGPT,完全开源可随意修改商用
GPT-5根本不存在!OpenAI 表态;王小川讽刺李彦宏活在平行宇宙,百度肖阳回击;阿里、亚马逊等相继发布大模型产品|Q资讯
微信扫码关注该文公众号作者