写点什么

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:5110301
用户头像

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

关注

评论

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

能否手写vue3响应式原理-面试进阶

helloworld1024fd

JavaScript

Wallys/ DR9074-6E QCN9074 WIFI 6E 802.11AX 4X4 6GHz/ industrial M.2 card / DR9074-6E(PN02.7)

Cindy-wallys

m.2 QCN9074 WIFI 6e

React Context源码是怎么实现的呢

flyzz177

React

python中类与对象的动态性,混入机制

乔乔

11月月更

HarmonyOS 3.1版本发布,全面进入声明式开发

HarmonyOS开发者

HarmonyOS

【docker】导入镜像报错磁盘空间不足的解决方法 && 【docker】修改默认的存储路径

A-刘晨阳

Docker Linux 运维 11月月更

荣耀开发者大会预约有礼

荣耀开发者服务平台

开发者 手机 开发者大会 荣耀 honor

Java中的BigDecimal比较大于小于等于,四舍五入保留几位(setScale方法详解),加减乘除取余

共饮一杯无

Java BigDecimal 11月月更

企业级 Angular 应用路由路径自定义配置和开发的案例分享

汪子熙

typescript 前端开发 angular Web应用 11月月更

Wallys/IPQ4018/IPQ4028 2x2 2.4Ghz 2x2 5Ghz Industrial WIFI5 router/Support 11ABGN/AC

Cindy-wallys

IPQ4018 IPQ4028 2.4G&5G

细说react源码中的合成事件

flyzz177

React

数据结构学习笔记(二)

lxmoe

数据结构 学习笔记 11月月更

vue实战-深入响应式数据原理

yyds2026

Vue

redhat运维-ftp服务故障

阿柠xn

Linux 运维 ftp 11月月更

数据结构学习笔记(一)

lxmoe

数据结构 学习笔记 11月月更

Linux系统中CPU占用率较高问题排查思路与解决方法

A-刘晨阳

Linux 运维 cpu 11月月更

腾讯前端高频手写面试题

helloworld1024fd

JavaScript

记一次京东前端面试被问到的题目

helloworld1024fd

JavaScript

产品待办列表PBL与产品需求文档PRD的本质区别

ShineScrum

Scrum PRD 产品待办列表 PBL 产品需求文档

浅谈HTTP缓存与CDN缓存的那点事

京东科技开发者

缓存 性能 Web CDN HTTP缓存

zabbix添加自定义监控项&告警(邮件)

A-刘晨阳

Linux 运维 zabbix 11月月更

vue实战中的一些小技巧

yyds2026

Vue

vue实战-完全掌握Vue自定义指令

yyds2026

Vue

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

用了8年MQ!聊聊消息队列的技术选型,哪个最香!

小小怪下士

Java RocketMQ RabbitMQ 消息队列

手撕常见JS面试题

helloworld1024fd

JavaScript

关于软件物料清单(SBOM),你所需要了解的一切

SEAL安全

安全 软件物料清单 SBOM

Apache Pulsar 社区年度峰会 Pulsar Summit Asia 2022 即将召开

腾源会

大数据 开源

ElasticSearch深度分页详解

京东科技开发者

数据库 elasticsearch 分布式搜索引擎 分布式实时搜索引擎

Linux系统保存文件命令的详细介绍

源字节1号

软件开发 前端开发 后端开发 小程序开发

算法基础:离散化及模板详解

timerring

算法 11月月更 离散化

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