2014 年 6 月 9 日
关注 @segiddins今天,我非常激动地宣布,我将在今年秋天全职从事 CocoaPods 工作,这要感谢 Stripe 的开源务虚会。
在三个月的时间里,除了我正常从事 CocoaPods 的工作外,我将致力于编写一个迭代依赖项解析器的参考实现,该解析器将由 CocoaPods 和Bundler 共享(并且可供任何想要使用它的开发者使用)。作为该项目的一部分,我还将编写一个与语言无关的测试套件,以帮助标准化不同解析器实现之间的行为。
自从我第一次加入 GitHub 以来,我就梦想以编写开源软件为生。Stripe 既让我的梦想成真,又真正支持了出色的开源工作。
自两个月前加入 CocoaPods 核心团队以来,我一直在关注解析器。现在,它有一个“朴素”的实现:我们只遍历依赖项列表,并选择与当前要求“相符”的最高版本。正确的方法是添加自动冲突解决:当我们遇到版本冲突时,我们需要“备份”并尝试另一组版本。这是一个棘手的算法问题,探索完成它的最佳方式(在算法和架构方面)阻止了我们之前解决它。通过这次重写,我们将向 CocoaPods 1.0 迈进一大步。
9 月份,我将前往旧金山,休学一年,全职从事 CocoaPods 的工作。这意味着我将处理更多问题,贡献更多功能,并希望写一些关于我取得进展的有趣更新。
整个 CocoaPods 团队和我非常感谢Stripe支持我们的工作,并分享我们对开源未来的愿景。