首页 > 资讯 > 关键词 > swift开源最新资讯 > 正文

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

2015-12-07 21:25 · 稿源:雷锋网

苹果在今年六月的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将在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等其他平台,如果需求较多的话,至少在一开始苹果将会依靠社区来提供支持。

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

为何开源?

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

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

“一些开发者,包括 IBM 的企业开发者很早之前就开始在 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 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和Objective-C的使用情况时通常都会这么说:有些人坚持使用Objective-C,因为他们已经熟悉该语言或是因为他们不希望混合使用Objective-C代码和Swift代码,但越来越多的消息显示,无论是新项目还是老项目,新数据块都在逐渐被Swift代码所取代。

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

Via arstechnica

  • 相关推荐
  • 大家在看
  • 苹果公司警告iPhone手机抢劫者:设备已被禁用并追踪定位

    据悉,包括华盛顿、洛杉矶、旧金山和费城的苹果商店陆续受到抢劫和破坏。不过苹果向那些使用被盗iPhone的人发出了一条信息:“这个设备已被禁用,正在被追踪。”

  • 苹果成为首个市值突破1.5万亿美元的美国公司

    继强劲的表现推动苹果股价再创新高后,美国当地时间周二苹果股价再次上涨超过2%。目前,苹果的市值已经超过1. 5 万亿美元,成为第一家达到这一水平的美国公司。

  • 苹果CEO库克承诺:公司将捐赠1亿美元促进种族平等

    苹果承诺向促进种族平等和正义的组织捐赠 1 亿美元,与其他媒体和科技公司一道支持社会正义事业。苹果CEO蒂姆·库克在周四在Twitter宣布了这一举措。库克表示,“种族平等的未竟事业要求我们所有人担负责任。状况必须改变,而苹果正致力于成为推动这种变革的力量。今天,我十分自豪地宣布苹果公司的种族平等与正义倡议,并承诺投入 1 亿美元。”

  • 欧盟对苹果发起反垄断调查 「苹果税」合理吗?

    6 月 16 日,据CNBC报道,欧盟委员会宣布对苹果展开两起反垄断调查,主要涉及苹果应用商店的收入分成、打压竞争对手等诸多行为。报道称近日有多家公司针对苹果提起反垄断诉讼,控诉其应用商店审查和收费机制存在垄断和专制。苹果目前正在接受欧盟和美国的反垄断调查。

  • 苹果再次关闭美国10%的店面 苹果发言人声明全文

    ​据彭博消息,北京时间 6 月 26 日,由于最近新冠病例增多,苹果将于周五关闭另外 14 家美国店面,使重新开门营业后又关闭的店面总数达到 32 家。

  • 台媒:苹果高通联发科等公司向台积电追加7纳米订单

    【TechWeb】6月8日消息,据台湾媒体报道,近日,包括苹果、高通、联发科、AMD等已向台积电大幅追加第四季7纳米订单。台积电台积电将华为海思原本预订的第四季先进制程产能已开放给其它客户,包括苹果、高通、联发科、AMD等大客户立即追加下单,第四季7纳米产能将维持满载,5纳米利用率亦维持高档。台媒表示,预计台积电第四季营收将与第三季持平,虽然失去华为海思订单,但对营运影响不大,全年美元营收较去年成长15%至18%的目标

  • 英特尔回应苹果自研芯片:将继续支持苹果 自家芯片体验最好

    今日,针对“苹果Mac电脑将转向自研处理器”一事,英特尔发布声明回应称,将继续支持苹果,英特尔仍然专注于提供最先进的个人电脑体验和广泛的技术选择,重新定义计算。搭载英特尔芯片的个人电脑能够在全球客户最重视的领域提供最好的体验。

  • 苹果小程序在哪里

    北京时间今天凌晨,在 WWDC 2020 全球开发者大会上,苹果发布了 iOS 14 系统,正式介绍了其最新版的 iPhone 软件。ios14当中的一个亮眼便是被称为「苹果小程序」的新功能。苹果在App Store新加入的「App Clip」功能,就类似于小程序。苹果表示App Clips包含应用的一小部分功能,而无需完整下载安装,使用起来十分地方便。同时苹果也在研发全新的QR二维码格式,该格式同时使用视觉二维码和NFC来快速访问App Clip。以下是关于ios版小

  • 苹果股价历史新高 苹果股价上涨原因介绍

    6 月 5 日晚间,美国三大股指集体高开,道指涨2.11%,纳指涨0.91%,标普 500 指数涨1.65%。其中苹果股价上涨1.37%,报326. 73 美元,总市值达14161. 57 亿美元,升破 2 月高点,刷新历史新高。<br/>

  • openEA专访丨浅谈开源的未来:中国开源社区建立是关键

    摘要:今天,openea.net重新上线,这次社区会给我们哪些便利呢?未来的发展方向又是什么呢?听说这次改版增加很多额外价值包!开源君独家采访了社区建设与运营相关负责人,现在带大家一起走进openEA开源社区吧。openEA开源社区(ID:openEA)| 出品小夕 | 编辑Dream | 作者开源君 | 采访openEA运营部 | 受访开源,天生带有“共享精神”的基因,开源生态同时也是被验证过的商业模式。目前国内领先的互联网企业也在开源领域争相布局:

  • 苹果:删除App后订阅不会随着删除

    今日,Apple微信公众号​发文回答了网友们几个比较热门的问题。苹果表示,如用户不知道买了几个会员可以打开 App Store 选择右上角帐户头像,轻点订阅进行查看和管理。此外,苹果还表示,订阅并不会随着 app 一起被删除

  • 失去苹果 对英特尔或利大于弊

    Futurum Research首席分析师丹尼尔·纽曼(Daniel Newman)今天在MarketWatch上发言称,苹果在Mac计算机中采用自主设计CPU,对英特尔来说利大于弊。以下为文章全文:过去一年,有关苹果Mac计算机弃用英特尔CPU的传言此起彼伏。在当地时间6月22日开幕的全球开发者大会上,苹果正式宣布未来Mac计算机将配置自主设计CPU,首款产品将于年内推出。许多人都认为,CPU遭苹果Mac弃用,对英特尔来

  • 苹果股价历史新高 WWDC开发者大会助力苹果再创历史

    6月22日晚上,苹果的WWDC全球开发者大会正式举办了,受此影响,苹果股价再次创历史新高,飙升超过2%,最高涨至359. 46美元。苹果股价历史新高苹果CEO库克表示,对于Mac而言,这绝对是有历史意义的一天。库克表示,第一款采用苹果芯片的Mac预计将在今年年底面市,预计过渡期需要两年时间。Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待京东自营¥5999去购买苹果股价历史新高原因据苹果公布,苹果的WWDC全球开发?

  • 苹果公布WWDC20日程 苹果开发者大会时间、细节公布

    北京时间 6 月 12 日凌晨,苹果宣布了 WWDC20 开发者大会的时间表。从 6 月 22 日到 26 日,苹果全球开发者社区超过 2300 万名开发者,将以前所未有的虚拟方式齐聚一堂。

  • 苹果AppStore怎么取消自动订阅

    苹果应用商店App Store有很多应用会自动为用户进行续订服务,但不少用户表示想要关闭这些续订,那么如何进行关闭自动订阅呢,这里我们来一起看下关闭自动续订的具体操作方法。

  • 苹果怎么录屏?高清稳定的录屏软件

    苹果怎么录屏?苹果电脑和Windows电脑的具体使用感不太相同,电脑录屏的方法也有一些差别。很多使用苹果电脑的小伙伴都在寻找一个合适的电脑录屏方法。下面整理了具体电脑录屏的方法,如果你有电脑录屏需要的话,一起来看看具体的方法吧!分享一、Macbook系统录屏软件苹果电脑也有自带的录屏方法,使用快捷键command+空格键,然后会打开“聚焦搜索”。之后输入QuickTime 并回车,打开电脑中的“QuickTime Player“。其实这个功能不

  • 苹果将追踪定位iPhone抢夺者

    据外媒报道,华盛顿、洛杉矶、旧金山、纽约和费城等多家苹果商店受到袭击或破坏,抢劫者偷走了所有可用产品。苹果公司警告,被抢劫的手机和电脑等产品均不可被重置,并将追踪定位不法者的位置发送到当地执法部门。

  • 苹果版TNT曝光 坚果产品经理:苹果能卖三台凭什么要做成一台

    7月1日消息,有爆料称未来iPhone可能会运行macOS,被网友评为“苹果版TNT”。有爆料指出,苹果正在研究iPhone上运行macOS,这将允许用户将iPhone接入扩展坞或显示器,让手机拥有完整

  • 苹果App资源库怎么调整应用位置

    苹果App资源库里的应用程序要怎么调整应用APP的位置,需要进行怎样的操作才可以调整这些应用位置呢,以下我们来一起看下具体的位置调整方法。

  • iOS14支持苹果7吗

    苹果iOS14系统已经在6月23日正式发布,这次发布的iOS14系统更新了诸多的新功能,同时也公布了iOS14系统支持的机型设备,以下我们来看下iOS14更新机型介绍。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议