一向“圈地自萌”的苹果为什么选择将Swift开源?

by admin on 2020年5月5日

苹果在今年六月的WWDC大会上推出了Swift2.0,并宣布将于今年年底前开放源代码。而苹果也在近日正式将Swift语言转成了开源编程语言,并将其放到代码托管网站Github中以供更多开发者共同开发。苹果公司高级副总裁克雷格·费德里希最近接受了外媒的采访,对
Swift 开源这一行为进行了说明。

此前苹果宣布计划开源 Swift 2.0,开发者认为此举在编程行业具有里程碑意义。

姓名:张桦林                    学号:16040510043

开源的基础

据 悉,Swift的编程语言将在Apache 2.0许可的基础上推出,Apache
2.0也是微软去年在.NET框架开源时所使用的许可,软件开发者将可以对这款新编程语言根据自己的需要进行修改。该代码将被放在GitHub上托管,其
中包括编译器、LLDB调试器以及REPL命令行环境、标准核心库以及代码配套工程等。在Swift(包括开源部分)中新加入了Swift软件包管理器,
该管理器将作为用于存储Swift模块的早期项目。

虽然其中的绝大部分都符合Apache许可标准,但费德里希表示,苹果还提供了一种更高的许可运行机制——如果开发者在Swift上创建了代码,而且其中的部分代码是从Swift库中调用的话,开发者将不必再提供该代码的来源。

苹果的工程师正在着手把Swift改为使用GitHub repos来以开源的方式开发语言。

澳门新葡亰信誉平台游戏 1

“Swift将在GitHub上完成开源工作,”
费德里希说,“Swift团队正在加紧修改的工作进程,其中也包括对Swift
3.0的开发,所有的工作进展都会在GitHub上开放。”

所 以,Swift 3.0将不会再像今年6月公布Swift
2.0那样在WWDC上得到大量关注,3.0将不会在WWDC
2016上出现,开发者更不会得到Xcode上的beta版。相对的,开发者能够在WWDC之前就拿到最新版的Swift语言,体验到下一代Swift的
新变化。

尽管代码将在GitHub上提供,但Swift社区同样也是Swift.org的家。在这里,开发者将能够提交bug并使用bug
追踪系统,也能够使用邮件列表或是与Swift工程的博客(苹果官方博客)进行交流,获取社区指南、Swift教程文档或是开发与API设计指南等。换句
话说,你所能想到的任何开源编程语言社区中所提供的服务这里应有尽有。

苹果于 2014 年 WWDC发布新的开发语言 Swift,可与 Objective-C 共同运行于
Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。此前苹果宣布计划开源
Swift 2.0,开发者认为此举在编程行业具有里程碑意义。Swift 2.0
引入了很多的新特性以确保开发者可以更快、更简单的构建应用,这些新特性包括更好的性能、新的异常处理
API、可用性检查、支持 Linux 等。

转载自:

澳门新葡亰信誉平台游戏,将不仅限于支持OS X和Linux平台


果官方声称Swift将不仅能够支持苹果自家的平台还能够支持Linux,而这正像苹果在6月份的时候所承诺的那样。这已经涵盖了大量的Swift开发者
(他们通常都会运行OS
X系统)以及大部分的大众开发者(他们使用Linux的频率要远高于一般用户)。苹果的Linux工具包括全新的封包管理器、LLDB调试器以及REPL
命令行环境。

至于Windows等其他平台,如果需求较多的话,至少在一开始苹果将会依靠社区来提供支持。

澳门新葡亰信誉平台游戏 2

“(对
于Windows平台的支持)在Swift开源的初版中,这并不是我们所首要考虑的问题,”
费德里希说,“我们认为对Linux和我们自家的平台的支持才能够为初版打下一个很好的基础。但是实际上,我们已经具备了把Swift开源移植到其他平台
的能力,LLVM、Clang以及LLDB这些Swift的基础技术其实已经完全可以移植到Windows平台上。我认为这是可以预见的——社区中的某个
人——无论是微软的领导者还是其他的人,早晚都会这样去做。“

苹果公司如果选择开源 Swift 意味着他们将为 OS X、iOS 和 Linux
提供接口,代码中将包括 Swift
编译器和标准库,苹果公司在宣布他们的计划是表示:“我们认为 Swift
可以登录所有你们喜欢的平台是一件好事。”

[嵌牛导读]:开源编程软件swift将为苹果                           
带来更大合作与效益。

为何开源?

Swift 开源苹果公司主要有两个目的。第一个目的就是让 Swift
编程更加通用、更加多样化——除了苹果平台的应用,开发者也可以在其他项目中使用这个编程语言。

另外苹果也非常有远见,很有野心。费德里希表示:“我们认为未来 20 年 Swift
将成为编程的标准语言。我们认为它将成为未来主要的编程语言之一。”

“一些开发者,包括 IBM 的企业开发者很早之前就开始在 Swift
中开发他们的移动应用,他们就希望能够将开发者开发的东西、还有一些代码等部署在云中。”
费德里希说,“而我们认为要想在这方面给他们提供支持的话,最好的办法就是开源。”

澳门新葡亰信誉平台游戏 3

而苹果的另外一个目的则与教育相关:当开发者花时间来学习Swift
时(或者教育工作者教授 Swift
使用方法时),苹果希望这些技术能够为更多人所用。

“我们与教育工作者合作,很多教授都有意教授
Swift,因为它是一种富有表现力的语言,能够引入各种编程概念。Swift
开源能够让教育工作者尽快地将其整合,让它成为核心课程的一部分。”

在今年6月份,苹果向开发者了解他们过去一年使用 Swift 的体验时,他们就发现
Swift 的可传授性强是它最大的卖点。Swift
不仅能够用于交流编程创意,而且还能够将它的相关知识利用到更多场合。

“当你第一次学习时,通常会出现的问题是:你的代码是否被编译过。而我喜欢Swift的一点就是,在某些情况下,你根本不用去想这些事情,直接输入代码就好。希望这将有助于更好地理解正在发生的事情,不再让人感到头疼。”

——iOS开发者,APP Camp教师 莱斯利·贝克

虽然开源后给开发者带来了诸多便利,不过遗憾的是,根据Swift.org中的表述,开发者在把应用程序提交给苹果的应用程序商店时仍需要在Mac上使用Xcode。

澳门新葡亰信誉平台游戏 4

[嵌牛鼻子]:苹果      swift      编程语言

开源会对编程语言带来什么影响?


Swift开源并在此基础上开发新版本的同时,不但能够使开发人员更容易地看到苹果公司在做什么,同样也使他们能够更容易直接对该项目作出贡献。苹果表
示,从Swift
1.0到2.0,开发者的反馈为开发工作做出了相当大的贡献。但是同样的,至少从理论上讲,公司将不再成为Swift语言的唯一仲裁者——开发者可以提交
引入请求。Swift.org概述中也提到了当开发人员要提出修改时的工作流程。

“如果你注意到我们的 Swift 2.0
的语言特性的话,你就会发现在错误处理、保护信息、可用性和控制上,均是基于开发者使用
Swift 来开发应用的对话来完成的。我们认为,Swift
开源后将获得进一步发展,这将有利于进一步深化交互。”

澳门新葡亰信誉平台游戏 5

Swift
虽然只是一个很“年轻”的语言,但是自问世以来却一直广受欢迎。而这也使得试图开发和维护的代码的开发人员产生了小小的挫败感。Swift
1.x在半年甚至一年前所创建的代码可能也不会在今天的Xcode的最新版本中编译,所以如果有问题的话苹果肯定是知道的。

“在为开发者提供源发展工具方面,我们是非常开放的。所以如果开发者选择在Swift中编程的话,我们也会在不断发展语言的过程中给他们提供适合的工具来帮他们发展源代码。”

不过苹果公司也在计划解决更大的问题,如今有越来越多的开发者正在为该语言的发展做出着贡献,所以苹果就更要去积极解决问题。苹果计划在
Swift 3.0 中进一步完善源兼容特性。

StackOverflow 的调查显示 Swift 是 2015
年开发者最喜欢的编程语言。Vine、LinkedIn、Getty Images、Slack、Dow
Jones、Playlist Media 和雅虎都会使用 Swift,Lyft 会使用 Swift
来完全重写他们的应用。Lyft表示使用Swift来编程的代码行数量将仅为此前的
1/5,而以后更新需要的时间也会大大减少。

[嵌牛提问]:swift能否在未来成为与C,                           
Java,Python一样广泛应用的                        编程软件?

Swift 会对 Objective-C 产生什么影响?

对于Objective-C,Swift的开源并没有改变其在苹果的生态系统中
的位置。它已经存在了好几年了,它仍然被用来编写苹果的平台上运行的诸多应用程序(包括苹果自己的),这个数字截至目前仍在持续增加,因为这的确是有必要
的。但Swift显然是Objective-C未来的发展方向,所以苹果仍然希望开发者可以用Swift来启动他们的新项目。

“Objective-C 将不会就此消失。我们还是非常喜欢 Objective-C
这种语言,我们还需要依赖
Objective-C,在苹果公司有很多工作都需要通过Objective-C来完成。我们会继续支持Objective-C,继续完善这种语言,以适
应这个不断变化的世界。不过对于即将进入我们的平台,想要开发应用的开发者,我们认为Swift更适合他们。我们觉得从
Swift 入手是非常正确的。但是在可预见的未来,我们会继续维护、完善和支持
Objective-C 。”

澳门新葡亰信誉平台游戏 6


发者们在谈到Swift和Objective-C的使用情况时通常都会这么说:有些人坚持使用Objective-C,因为他们已经熟悉该语言或是因为他
们不希望混合使用Objective-C代码和Swift代码,但越来越多的消息显示,无论是新项目还是老项目,新数据块都在逐渐被Swift代码所取
代。

似乎苹果未来将继续为Objective-C提供支持,但苹果何时会停止支持目前并没有一个确切的消息。不过,没有人会想被打个措手不
及。Swift的日益成熟、Swift
3.0所承诺的源代码兼容性、开源版本更加广泛的应用场景都旨在推动开发者更为舒服的过渡到Swift阵营。

Via arstechnica

转载自:雷锋网

Swift 上线后仅几个月的时间就收获许多人气,Tiobe Index 显示 Swift
是互联网 15 种最受欢迎的语言之一。ThoughtWorks Technology Radar
表示行业应该采用 Swift 语言。

[嵌牛正文]:

行业指出,随着 Swift
开源,开发者将可以进一步利用这个开发语言。也许在未来开发者可以用它来开发
Windows 应用、服务器守护进程和客户端 web 应用程序等。如果开发者确实利用
Swift 来为其他平台开发软件,那么我们可以预见未来还会有更多 Mac 和 iPhone
软件出现。这将能有利于苹果进一步定义技术生态系统。

苹果去年推出了全新的编程语言Swift,旨在简化iOS和OS
X的应用编程。今天该编程语言又迈出了重要的一步:开源。苹果将通过新网站Swift.org和GitHub开放Swift的源代码。

长久以来,苹果公司一直被视为技术市场中的一个小角色,但今非昔比。苹果公司如今提供的解决方案都是企业级别的,iMac
的市场份额不断增加,而 iOS 设备则不断定义行业对高端设备的期望。

澳门新葡亰信誉平台游戏 7

苹果是不是还有更大的野心呢?在为多个平台开发软件方面,它或许会成为一个强有力的竞争者,而不仅仅是苹果的平台?

现在,苹果以外的开发者将能够查看Swift的内部运作,为其开发作出贡献,也能够将它带到新的平台。

苹果公司高管克雷格·费德里希在 2015 年 WWDC 大会上表示:“我们相信 Swift
是下一个重大的编程语言。未来 20
年我们将会在这个平台上进行应用和系统的编程。我们认为 Swift
将会成为一个非常普遍的编程语言,为所有人所用。”

苹果还推出了一个适用于Linux的Swift版本。该举可能是为了该公司的企业市场合作伙伴(如IBM),后者将能够用Swift开发面向消费者的应用,并使得它们连通也支持Swift语言的Linux服务器。

Android 开发者也有可能利用 Swift
来开发适合两个移动平台使用的应用。你是不是觉得这有点不现实?并非如此。去年
ArcTouch 就使用 Swift 来开发出可以在 Android 和 iOS
平台上使用的计算器应用。

开源Swift的代码意味着未来开发者或许也可以选择将它带到Windows和Android。苹果曾说过希望Swift未来20年成为核心的编程语言之一,要实现这一点,那么使得它兼容所有的主流桌面平台和移动平台将会是关键。开源也对苹果有利:使用Swift的人越多,能够为苹果自有设备开发应用的人就越多。

如果你把苹果的这些“点”连起来你就会发现苹果公司的勃勃野心。在这个数字时代,苹果公司正定义着行业的期待,定义着这个新篇章的环境。

尽管苹果的开放之举并不多,但开源像Swift这样的面向开发者的产品其实不算罕见。iOS的ResearchKit今年早些时候进行了开源,Safari的浏览器引擎WebKit也向开发者开放已久。

开源并不意味着苹果要将Swift交给外部人员处理。苹果仍将领导它的开发,只不过它在该项目上的工作将会公开。外部开发者将能够参与进来,帮助引导Swift的发展,为它的运作和功能作出贡献。

开发者将能够从新网站Swift.org下载Swift和开始开发应用程序,但该Swift版本将不能够开发进入App
Store应用商店的应用。这显然是出于安全性和稳定性的考虑。想要给App
Store开发应用的开发者还得向苹果付费,并使用Swift的官方版本;该版本的开发进度将会落后于开源的版本,它会定期与后者进行同步,很可能是等到新增功能稳定之后才会同步。

GitHub将会处理Swift的源代码,但苹果也将通过Swift.org建立开发者社区。该网站将配有错误跟踪系统、工程博客和邮件列表。上面还将提供有关如何为Swift的开发作出贡献的教程和指引。

苹果并没有公布使用Swift的开发者数量,但它列举了一些案例——Yahoo
Weather、LinkedIn、Clear等都在使用Swift。除了iOS和OS
X应用之外,Swift还能够用于开发tvOS和watchOS应用。相比开发者以前使用的Objective-C,该编程语言更加快速,而且也加入了针对常见问题和错误的防护功能。

那样的灵活性(以及苹果的支持)似乎已经足以让Swift成为流行的编程语言。市场研究公司RedMonk曾在7月表示,“Swift比我们跟踪的任何其它的编程语言都要快速。”RedMonk的史蒂芬·奥格雷迪(Stephen
O’Grady)当时也补充道,“未来一旦开源,并为Linux提供支持,Swift的发展势头应该会更猛。”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图