写点什么

Swift 2.0 发布:即将开源,支持 Linux

  • 2015-06-08
  • 本文字数:1004 字

    阅读完需:约 3 分钟

在 6 月 9 日凌晨举行的 WWDC 2015 全球开发者大会上,苹果发布了 Swift 2.0,并宣布将于今年年底开源 Swift 语言。Swift 2.0 引入了很多的新特性以确保开发者可以更快、更简单的构建应用,这些新特性包括更好的性能、新的异常处理 API、可用性检查、支持 Linux 等。苹果将会在新发布的 iOS 9 中全面支持 Swift,iOS 9 beta 也会在今天对所有注册的苹果开发者开放。

Swift 2.0 包含了许多的新特性以及改进,在本周的 WWDC 大会上苹果将会深入介绍这些新特性。同时,在苹果的开发者博客上,官方也对其中的某几个新功能做了介绍:

异常处理模型:新的异常处理模型使用了开发者最为熟悉的 try、catch、throw 关键字,并且还将完美支持苹果的 SDK 以及 NSError。

可用性:通过使用新的 SDK,开发者可以操作平台的新功能,但某些老的操作系统可能并不支持这些新特性,所以开发者就需要额外的检查。在处理类似的兼容问题上,Swift 非常的得心应手。如果目标操作系统不支持某个 API,那在编译时 Swift 将会报错。同样,开发者也可以使用#available 来确保代码块可以运行于正确的操作系统版本上。

协议可扩展:协议(Protocol)用于统一方法和属性的名称,而不实现任何功能。Swift 2.0 增加了协议扩展,在标准包中可以使用它。当使用全局函数时,Swift 2.0 已经为方法添加了统一的类型,这样开发者就可以使用函数链,以提高代码的可读性。

除了这些新特性之外,另外一个重磅消息是苹果将在今年晚些时候开源 Swfit。苹果的软件研发副总裁 Craig Federighi 在 WWDC 大会上表示 Swift 将会是未来的主流开发语言,它应该得到更为广泛的应用。但在大会上苹果并没有过多的解释关于 Swift 开源的更多信息,苹果曾在 2005 年开源过 WebKit ,如果不出所料,Swift 项目的开源管理和运营模式应该和 WebKit 类似。目前可以确认的信息包括:

  1. Swift 的源代码将会基于某个 OSI 组织批准的开源协议进行开源。
  2. 苹果将会允许并鼓励社区开发者贡献代码。
  3. 未来 Swift 将会重点支持 OS X、iOS 和 Linux 三个平台。
  4. 源代码将会包括 Swift 编译器以及标准库。

Swift 开源的消息在 Hacker News 上引起了激烈讨论。总体来看,开源可以更好的促进 Swift 的发展,一方面开发者可以直接向 Swift 贡献代码,另外开源可以更好的帮助苹果构建其生态系统。另外,关于 Swift 的详细内容读者可以参考阅读 InfoQ 的 Swift 专栏,更多关于 WWDC 2015 的内容读者可以阅读《 WWDC 2015 大会十大看点总结:Swift 要开源了》。

2015-06-08 17:519916
用户头像

发布了 219 篇内容, 共 138.2 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

批判性思维自修课(五)

石君

28天写作 批判性思维

webpack | 进阶用法1:多入口构建/资源内联/脚本分离等

梁龙先森

大前端 webpack 28天写作

第十周学习心得

cc

智能汽车vs.智能手机 (28天写作 Day24/28)

mtfelix

智能手机 28天写作 智能汽车 未来社会 未来游牧化

怎么才能摸透String类的底层原理?看完这篇你就懂了

后台技术汇

28天写作

ReentrantReadWriteLock读写锁简单原理案例证明

叫练

ReentrantReadWriteLock 共享锁 独占锁 锁降级

产品 0 期 - 第三周作业

Jxin

95 后张勇:Apache Pulsar Committer 军团新生代力量

Apache Pulsar

大数据 开源 pulsar Apache Pulsar 消息系统

使用 Tye 辅助开发 k8s 应用竟如此简单(一)

newbe36524

Docker 微服务 k8s dotnet

架构师训练营 4 期 第5周

引花眠

架构师训练营 4 期

你知道什么是敏捷交换机吗?

Soul网关源码解析目录

Java 网关 源码解析

产品经理训练营笔记-解决方案的设计和积累

.nil?

产品经理训练营

CSS(十)——用CSS设置表格样式

程序员的时光

程序员 大前端 七日更 28天写作

架构师训练营 - 第五周作业

Mark

架构入门感悟总结

笑春风

产品的解决方案设计原则

🙃

产品经理

第三周作业

秦挺

第十周课后练习

Binary

前端工程师的一大神器——puppeteer

执鸢者

大前端 Node puppeteer

开发质量提升系列:标准模板(上)

罗小龙

方法论 28天写作

《程序员修炼之道》- 解决问题,而不是去责备(6)

石云升

程序员 bug修复 28天写作

图解类加载器和双亲委派机制,一看就懂

Java鱼仔

Java 程序员 面试 类加载

在nodejs中创建cluster

程序那些事

nodejs cluster 程序那些事 childprocess workerThread

架构师训练营第五周作业

跳蚤

架构师训练营第五周学习总结

跳蚤

LeetCode题解:433. 最小基因变化,双向BFS(beats 99%),JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

第十周命题作业

cc

Scrum Patterns:准备就绪的标准 DoR(译)

Bruce Talk

敏捷 译文 Agile Scrum Patterns

Pulsar 社区周报|2021-01-18 ~ 2021-01-24

Apache Pulsar

大数据 开源 pulsar Apache Pulsar 消息系统

架构总结思维导图

Mars

Swift 2.0发布:即将开源,支持Linux_Linux_小盖_InfoQ精选文章