前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >苹果现已支持 Swift 包索引

苹果现已支持 Swift 包索引

作者头像
深度学习与Python
发布2023-04-21 14:41:46
4280
发布2023-04-21 14:41:46
举报

作者 | Sergio De Simone

译者 | 马可薇

策划 | 丁晓昀

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资讯

用C++写出比MySQL快800倍的数据库,ClickHouse创始人:融合数据库该“卷”的还是性能和速度

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档