2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

Go 语言中一些不太常见的优化

Xargin

性能优化 后端 Go 语言

FIL币挖矿合法吗?FIL挖矿会叫停吗?

为什么搞一个副业项目如此之难?

张理查

🏆「作者推荐」【JVM 性能分析】精心准备了一套 JVM 分析工具的锦囊(中部)

码界西柚

JVM 性能分析 7月日更

查找——HASH

若尘

数据结构 hash

学点项目管理,对咱程序员很重要~

后台技术汇

项目管理 项目管理工具

TP钱包Defi挖矿系统开发【专业定制】

获客I3O6O643Z97

区块链 DeFi质押挖矿 质押挖矿

bzb矿机软件系统开发

你有多少密码是123456

MySQL从删库到跑路

密码管理

完了,又火一个项目

程序员鱼皮

JavaScript GitHub Vue 大前端 React

币安链智能合约Dapp系统开发方案

薇電13242772558

智能合约

架构师实战营 模块八作业(设计消息队列存储消息数据的MySQL表格)

代廉洁

架构实战营

免费分享Java Web 开发的优秀图书

Java入门到架构

Java Java书籍推荐

Spring源码解析 -- SpringWeb请求映射Map初始化

Java spring 源码解析

yarn 的基本介绍和产生背景

大数据技术指南

YARN 7月日更

第八课作业

杰语

趣玩吧EVO软件系统开发方案

Python+OpenCV创建级联文件(Windows7/10环境)

不脱发的程序猿

Python OpenCV 目标对象识别 OpenCV创建级联文件

Apollo配置中心如何实现配置热发布

慕枫技术笔记

微服务 后端 配置中心

架构实战营 - 模块 8- 作业

泄矢的呼啦圈

架构实战营

淘筱优软件开发|淘筱优APP系统开发

FIL分币系统源码开发App

获客I3O6O643Z97

IPFS怎么挖矿 ipfs有什么用 质押挖矿 fil币

Redisson 分布式锁源码 08:MultiLock 加锁与锁释放

程序员小航

Java 源码 分布式锁 redisson redison

【Flutter 专题】91图解 Dart 单线程实现异步处理之 Future (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

话题讨论| 帮朋友拼多多助力会导致银行卡被盗刷?

石云升

拼多多 话题讨论 7月日更

Ubuntu Server 20.04搭建kafka集群

玏佾

kafka kafka配置 kafka数据 Ubuntu20.04

jTDS 驱动导致 cpu 100%

顾五木

cpu占用100% 线上程序问题

external-attacher源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

hive 与传统数据库对比

五分钟学大数据

hive 7月日更

Uranus天王星系统软件开发介绍

使用 Open Policy Agent 实现可信镜像仓库检查

张晓辉

Kubernetes 安全 OPA

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