苹果的 Swift 编程语言是如何进化的?
这里每天分享一个 iOS 的新知识,快来关注我吧
前言
我们知道 Swift 编程语言是开源的,任何人对 Swift 有好的主意和想法,都可以为 Swift 提供新的功能。
所有对 Swift 的建议都会在公共论坛上进行讨论,其他人也会针对你提出的建议给出评论和修改意见。最终,你的建议完善后将被批准,最后再发布到某一个 Swift 版本中,这个过程称为 Swift 的进化。
今天来讲讲 Swift 进化的整个过程,以及如何为 Swift 贡献你的代码。
提案(Swift Evolution)
任何人想要改进 Swift,都需要先写一份“提案”,提案中包含了你建议的修改内容。
如果你不知道如何写提案,可以参考官方给出的提案模版。
一个完整的提案主要包含以下内容:
-
提案介绍:简单介绍下你提出的功能。
-
动机:描述本提案试图解决的问题,说明为什么这个新功能会帮助 Swift 开发人员创建更好的 Swift 代码。
-
建议的解决方案:描述你的问题解决方案。提供示例并描述它们的工作原理。展示你的解决方案哪里比当前的解决方法更好:它更清洁、更安全还是更高效?
-
详细设计:详细描述解决方案的设计。如果它涉及语言中的新语法,要显示对 Swift 语法的添加和更改。如果是新 API,要显示完整的 API 及其文档注释,详细说明其功能。需要提供足够多的详细信息,足以让开发者能够合理地实现该功能。
-
兼容性:描述此提案对兼容性的影响。
-
ABI 兼容性:描述对 ABI 兼容性的影响。
-
未来方向:描述将来可能在此提案的基础上构建的任何其他的提案。
-
考虑的替代方案:描述解决同一问题,或者实现同一功能的其他可能的方案。
当你写完一个提案并提交之后,就可以在 Swift 官方论坛上发帖宣布这个提案,之后论坛上会有其他成员对你的提案进行评论和反馈。
然后你就可以着手实现你的功能了,需要有具体代码实现的提案才可以进入下一阶段的审核流程。
审核流程
当你的提案已经有了代码实现,并且你认为这个提案已经足够详细和清晰,就可以进一步申请审核。
首先介绍一下目前 Swift 的社区结构,有这么几个角色:
-
项目负责人:整个 Swift 项目的负责人,目前苹果公司担任这个角色,公司会出一个代表,比如现在的代表是著名的 Ted Kremenek,他有权利任命技术相关负责人。
-
核心团队:这个团队是项目负责人任命的,主要负责审核 Swift 代码和制定 Swift 的战略方向,其中比较有名气的是 Ben Cohen,Swift 之父 Chris Lattner(目前已经离开核心团队)。
-
语言督导小组:由 Swift 项目负责人和核心团队的专家组成,他们可以审阅、指导和战略性地调整语言的更改。
当你的提案进入审核流程后,语言督导小组会任命一名审核经理负责你的提案,审核经理将会联系你一起审查代码,一般审核时间一周左右,但对于特别大或复杂的提案,审核可能会持续更长时间。
审核完成后,语言督导小组将对你的提案做出决定,然后审核经理会将他们的审核结果报告给你和 Swift 论坛。
大概的审核流程如图:
最后
对于有兴趣给 Swift 贡献的同学不妨可以试试,万一苹果接受了你的提案,那绝对可以吹很久的牛了。
其实给 Swift 贡献不仅仅可以通过提交代码的方式,还有很多其他参与方式,比如在论坛上回答问题、帮 Swift 报告或分类错误,以及参与 Swift 的演进的讨论等等。
目前 Swift 开源仓库已经有超过 1000 个贡献者,400 多个提案,社区中每天都有提案在讨论、审核、合并,相信有你的参与 Swift 的未来会越来越好。
这里每天分享一个 iOS 的新知识,快来关注我吧
参考资料
[1]
提案模版: github.com/apple/swift…
本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!