Swift 3.0第1步,面向全部开发者开源

在移动开发中,Android开发一直比较受欢迎的缘由之一就是其是一个开源的,有不少开源项目、代码能够用,这也是不少iOS开发者羡慕不已的地方。但值得庆贺的是,随着swift编程语言的发展,北京时间12月4日,苹果正式宣布Swift面向全部开发者开源,哇咔咔~~ios

对于iOS开发者而言,这意味着什么呢?即日起,感兴趣的开发者们能够在Swift.org和GitHub下载源代码和各类研发工具,全部开发人员均可以用能够用swift语言作多版本游戏研发,固然他们也一定将对swift将来的发展作出重要的贡献和影响。编程

虽然苹果公司不多开源本身家的东西,但Swift开源并不意外,今年年初的时候,该公司就开放了ResearchKit,而Safari浏览器引擎WebKit也早已经向开发者们开放。尽管开发者们能够下载Swift并开始用它来打造新应用,但开源版本作的应用并不能直接在App Store发布,你仍然须要苹果的Xcode才能这么作。不过,出于苹果对安全性和稳定性的考虑,这一点也在乎料之中。swift

苹果软件工程高级副总裁Craig浏览器

Federighi在接受采访时讲述了Swift的开源、将来发展以及开发者们所关注的该语言的成熟和稳定问题,更多详细信息请看Swift英文官网。如下是Gamelook根据欧美多家媒体的报道整理的详细内容:安全

Swift将在Apache 2.0受权协议下开源,微软去年开放.NET框架的时候也使用了该协议,该项目将于GitHub上线而且包含编译器、LLDB debugger、REPL命令行环境、标准以及核心库(library)以及支持项目的代码。新增的Swift Package Manager也将开源,该工具将做为‘初期的’Swift模块库而且会根据社区的修改而不断改变。框架

其中,大多数都在标准Apache受权的协议之下,不过Federighi表示苹果还加入了一个更为宽容的运行例外,“这样若是你用Swift写了代码,并且Swift库中的一部分是用你本身的代码生成,这种状况下你就没必要提供归属关系。”编程语言

苹果的Swift工程师们将会开始使用GitHub社区带来的贡献,在开放环境下继续研发该语言。Federighi说,“Swift团队将在彻底在开放的GitHub社区进行开发,由于他们天天都在研发并修改这个语言,包括它们在Swift 3.0上的工做,全部都将在GitHub开放社区进行。”工具

因此,开发者们不用等到明年6月份的WWDC等待大量的Swift 3.0信息,由于他们已经能够在Swift网站看到该语言的下一个主要版本的发展方向。虽然代码自己能够在GitHub得到,不过Swift社区则须要登陆Swift.org,开发者们能够报告bug并得到-tracking系统、邮件列表、一个Swift工程师博客、社区指南、Swift教程和文档以及开发者与API设计指南。换句话说,这些东西向任何编程语言开发者们开放。学习

平台:官方OS X和Linux、为其余系统提供社区支持网站

目前官方支持的移植版本包括苹果本身的平台与Linux平台,这也是该公司在6月份所承诺的,苹果的Linux工具包括对package manager的支持、LLDB debugger和REPL命令行环境。至于其余平台,包括Windows在内,至少苹果会根据需求在一开始主要依靠社区来提供支持。

Federighi说,“Windows支持并不在咱们的首发考虑范围以内,咱们目前还不考虑直接作出来,咱们认为Linux是不错的开始,但咱们对于其余平台的贡献者也是开放的,无论是核心项目仍是LLVM、Clang和LLDB,咱们都向开发者们开放,这些Swift的核心工具已经被移植到了Windows平台,我认为社区里必定会有人作Windows版本的,无论是微软仍是其余公司。”

为何要开放Swift

苹果开放Swift主要有两个目标,首要并且最为明显的意图是,让Swift代码更为便捷和多功能化,使得苹果平台以外的项目也可使用。该公司的长期规划更具备野心,Federighi说,“咱们认为Swift是人们将来20年应该使用的编程语言,是下一个最主要的编程语言。”

他接着说,“不少的开发商,包括像IBM同样的企业级开发商在内,使用Swift研发本身的移动应用都还处于早期阶段,他们但愿充分利用研发人员的才能,甚至能够把这些代码运用到云技术领域,咱们认为最好的实现方式就是,咱们把Swift进行开源。”

第二个目标就是出于教育方面的目的,当开发者们投入时间学习Swift的时候,或者有教育者们开始Swift教学的时候,苹果但愿这些技术可以被更普遍地应用。Federighi说,“咱们在和教育家们合做,不少教授都愿意教Swift课程,由于这是一种很是具备表达力的语言,用来介绍各类各样的编程概念都很是不错。把Swift进行开源可让他们更好地使用,看成他们核心课程的一部分。”

在今年六月份和开发者们聊天的时候,Swift便于教学的特色是当时该语言主要的卖点之一,Swift不只能够交流编程想法,并且能够把这些知识用到多个平台。

一名iOS开发者兼App Camp for Girls教师Lesley Baker说,“当你开始学的时候,一般的问题是你要不要些编译器,我最喜欢Swift的一点是,在某些状况下,不用考虑这些事情就能够进行编译,但愿这会让学生们更好地理解,不让他们对编程语言太过于沮丧。”

据Swift.org的信息显示,尽管开发者们能够得到Swift开源代码,但用它作出来的应用想要登上苹果的应用商店仍然须要在Mac上使用Xcode实现。

开源会对Swift带来什么改变?Swift语言何时能够变得稳定化?

经过对Swift语言开源并公开研发新版本进度,可让开发者们更容易知道苹果在作什么,也可让开发者们更容易直接为该项目带来贡献。苹果公司表示,开发者们的反馈已经给新功能的研发带来了指导意义,因此该语言才从1.0发展到了2.0,但从理论上来说,该公司将再也不是惟一决定Swift发展方向和功能取舍的一方,开发者们能够提交投票请求,当开发者们但愿带来变化的时候,Swift.org将会公开这个投票过程。

Federighi说,“若是你仔细看咱们在Swift 2.0里推出的不少新功能,包括错误处理以及guard statements、可用性以及控制等等,这些都是基于咱们和Swift开发者们的谈话而来的,随着Swift的开源,咱们认为能够和开发者们进一步交流。”

Swift仍然是一门新语言,虽然大多数开发者的接受度都不错,但它仍然给开发者们研发和维护代码带来了问题。六个月或者一年前写的Swift 1.x代码可能就已经不能和当前版本的Xcode兼容了,这个问题很明显苹果公司是意识到了的。Federighi说,“咱们过去一直很是坦诚地说,将会给咱们的开发者们提供资源升级工具,因此,若是它们写了本身的Swift代码,随后咱们更新了语言,那么咱们就会提供工具帮助他们把这些源代码进行升级。”

可是,该公司还计划解决更大的问题,这个问题就是让更多的开发者们直接地为Swift语言作出贡献。苹果公司对于Swift

3.0的一个主要目标是让资源兼容性更进一步,这样用Swift写出的代码能够随着该语言的进化而升级,但开发者们须要重写或者改变的地方就会更少甚至根本不须要改变。

这和Objective-C有什么关系?

至于Objective-C语言,目前Swift的开源对其影响几乎是没有的,这并不会改变它在苹果生态系统中的地位。毕竟这个语言已经存在了数年,苹果平台上不少用该语言作的应用还在运行,包括苹果本身的一些Objective-C应用也在运行,在须要的状况下,苹果还会给该语言增长新东西。但Swift很明显是苹果公司最专一投入的语言,该公司更愿意开发者们尽量使用Swift语言作研发。

Federighi说,“Objective-C不会消失,咱们仍然热爱这个语言,咱们对它的依赖性依然很大,而且苹果内部也用Objective-C作了大量的工做,咱们将会继续支持Objective-C,并且将继续在须要的状况下为之进行升级。咱们推荐新开发者们使用Swift语言,咱们以为Swift才是正确的开始,但咱们在能够预见的将来,仍将维护、更新和支持Objective-C。”

这个声明其实开发者们已经很熟悉了,有些开发者表示它们习惯了Objective-C或者是不但愿把两种语言混起来用,因此没有使用新语言,但也常常有开发者们表示,它们的新项目和大量的老项目都在用Swift编写。

苹果彷佛在可预见的将来仍会继续支持Objective-C,但若是该公司决定再也不支持了呢?没有人但愿到时候措手不及。Swift在不断地成熟,无论是Swift 3.0的资源兼容性仍是这次宣布的开源版本,相信都会给开发商们更多转换语言的理由。

虽然苹果公司短时间内没有作其余开源版本的想法,但开源Swift就意味着其余开发者们能够用它为Windows和Android平台研发应用,苹果公司以前曾经公开表示,但愿Swift成为将来20年最主要的编程语言之一,若是这是真的,那么它就必须支持全部主要的PC和移动平台,这对于苹果公司也是有利的,使用该语言的人越多,能够为苹果设备研发应用和游戏的开发者也就越多。

开源还可让开发者们对这种语言更有信心,理论上来讲,即便有一天苹果公司决定放弃这个语言,开发者们仍然能够继续推进Swift的发展,现有的代码也能够继续得到支持,固然,目前没有任何迹象代表苹果会放弃本身的新语言。有了开发者们的参与,苹果可让社区帮助Swift变得更好,直接为该语言作出贡献。

无论怎么说,swift开源了,对iOS开发者而言都是极好的消息。固然对于苹果公司而言也是利益远远大于弊端,咱们也期待之后苹果公司能有更多面向iOS开发者开源的东西。

相关文章:《Swift 代码规范



文/小麦麦子(简书做者) 原文连接:http://www.jianshu.com/p/94b9b5ac4551 著做权归做者全部,转载请联系做者得到受权,并标注“简书做者”。
相关文章
相关标签/搜索