• 欢迎访问安全专题网站,安全专题信息,安全专题教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入安全专题 QQ群
  • 安全专题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏安全专题吧

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

安全技术 aqzt 2年前 (2016-12-17) 264次浏览 0个评论

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

开源的基础

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

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

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

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

“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 设计指南等。换句话说,你所能想到的任何开源编程语言社区中所提供的服务这里应有尽有。

将不仅限于支持 OS X 和 Linux 平台

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

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

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

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

为何开源?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Via arstechnica


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一向“圈地自萌”的苹果为什么选择将 Swift 开源?
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址