自从我们在 Swift Package Index 仓库上进行了第一次提交以来已经一年了,我们认为这值得庆祝一下!
你喜欢蛋糕吗?😂 没有?好吧,要不我们也告诉你这个项目是如何开始的故事?
注意: 我们通常在这里以第一人称复数形式撰写博客文章,因为这个项目在很大程度上是共同努力的结果,但这是一个有很多地方提到 Dave 和 Sven 个人的故事,所以我将以第一人称单数形式撰写。Dave
在 Swift Package Index 之前,有 SwiftPM Library。那个网站的目标和这个网站一样,都是提供一个全面的 Swift 包索引,帮助你更好地决定你的依赖项。
在发布后不久,我收到了来自 Vapor Discord 一些成员的消息。他们一直在讨论创建一个类似的开源 Swift/Vapor 项目,并想知道我是否有兴趣参与合作。我承认,对于重写一个我刚刚发布的网站,我并没有非常兴奋,但我赞成它成为开源的。然而,一个专注于索引 Swift 包的开源项目实际上是一个 Ruby 项目,这会使寻找贡献者变得具有挑战性,所以我抛开了我的疑虑,决定尝试一下。我开始学习 Vapor 并开始了。不幸的是,当时的情况不利于重写获得成功。我发现 Vapor 的学习曲线很艰难,同时还要维护现有网站,而且 Vapor Discord 的人们也很忙。项目开始进展,但速度缓慢。
那时我收到了 Sven 的一封电子邮件。他看到了 SwiftPM Library,想知道我是否愿意将他的开源项目 Arena 与之集成。他的想法是在每个搜索结果旁边添加一个按钮,点击后会创建一个 Swift Playground,导入库,以便进行实验。这是一个很棒的主意,几天后我们最终进行了一次快速音频通话来讨论它。在聊天时,我提到了将 SwiftPM Library 重写为 Swift/Vapor 的可能性,结果演变成了一场更大的对话。Sven 对这个项目很感兴趣,有使用 Vapor 的经验,并且热衷于提供帮助。一个成功的组合! 🥇
在那之后,事情进展得非常快。我写了一些关于现有项目如何运作的细节,Sven 施展了他的 Vapor 魔力。没过多久,我们就有了运行中的原型,项目开始变得真实起来。没有时间添加“Arena 按钮”,因为我们需要首先实现基础功能,但它仍然牢牢地列在待办事项清单上。
Sven 和我最终合作得非常好。我们有不同的、互补的技能组合,我们很快就朝着完成新项目迈进。它从第一天起就是开源的,我们在公开场合工作,但没有人注意到,我们开始为 Swift Package Index 的发布做准备。
尽管如此,即使在发布后几个月,仍然没有“按钮”的迹象。 😬
这不是出于恶意或故意疏忽。只是总有一些其他事情的优先级略高。我们致力于语言和平台兼容性报告、Apple silicon 构建、收集额外的元数据、资助项目、RSS 订阅、内联 README 文件、托管 Swift Package Index 以及 许多其他没有在博客中提及的事情。
我很高兴地说,今天见证了“按钮”的发布!但是按钮有什么作用呢?在官方发布帖子中阅读更多相关信息。
这值得比蛋糕更多! 🥂🍾
我很高兴我们终于通过这个项目将 Sven 的最初想法变为现实,但这次庆祝活动远不止于此!从一开始就与 Sven 在这个项目上合作一直是一种乐趣。我们在一起工作得非常出色,并且正在创造一些感觉重要而有意义的东西。“按钮”是其中的一部分,但该网站的潜力远不止于此。
还值得一提的是,如果你想亲自听 Sven 和我谈论这个故事,我们去年在 John Sundell 的播客中讨论过。
为了第二年!