IOS9 Swift
Swift 2.0发布:即将开源,支持Linux
| [日期:2015-06-09] | 来源:infoq 作者:Linux | [字体:大 中 小] |
在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类似。

目前可以确认的信息包括:
- Swift的源代码将会基于某个OSI组织批准的开源协议进行开源。
- 苹果将会允许并鼓励社区开发者贡献代码。
- 未来Swift将会重点支持 OS X、iOS和Linux三个平台。
- 源代码将会包括Swift编译器以及标准库。
Swift开源的消息在Hacker News上引起了激烈讨论。总体来看,开源可以更好的促进Swift的发展,一方面开发者可以直接向Swift贡献代码,另外开源可以更好的帮助苹果构建其生态系统。
Apple Swift学习教程 http://www.linuxidc.com/Linux/2014-09/106420.htm
使用 Swift 构建一个 iOS 的邮件应用 http://www.linuxidc.com/Linux/2014-08/105542.htm
Swift 的详细介绍:请点这里
IOS9 Swift的更多相关文章
- (转)Awesome Courses
Awesome Courses Introduction There is a lot of hidden treasure lying within university pages scatte ...
- iOS9中,swift判断相机,相册权限,选取图片为头像
在iOS7以后要打开手机摄像头或者相册的话都需要权限,在iOS9中更是更新了相册相关api的调用 首先新建一个swift工程,在SB中放上一个按钮,并在viewController中拖出点击事件 ok ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
- iOS9和Xcode7
2015.06.08苹果放出了iOS9以及Xcode7的 Beta测试版本.有一句话非常引入注意: https://developer.apple.com/xcode/ Now everyone ca ...
- swift中第三方网络请求库Alamofire的安装与使用
swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面 ...
- Swift&NodeJS 使用Alamofire进行Post(zhuan)
这篇博客主要实现Swift客户端和NodeJS后台的Post.Get请求实现. 我是一个略有点讨厌重复使用工具的人,比如这些基本功能完全可以用OC和PHP等替代,但是没办法,现在知识更新的太快啦,Sw ...
- Swift&Node 使用Alamofire进行Post
这篇博客主要实现Swift客户端和NodeJS后台的Post.Get请求实现. 我是一个略有点讨厌重复使用工具的人,比如这些基本功能完全可以用OC和PHP等替代,但是没办法,现在知识更新的太快啦,Sw ...
- Swift实战之2048小游戏
上周在图书馆借了一本Swift语言实战入门,入个门玩一玩^_^正好这本书的后面有一个2048小游戏的实例,笔者跟着实战了一把. 差不多一周的时间,到今天,游戏的基本功能已基本实现,细节我已不打算继续完 ...
- iOS9 collectionView新特性
近日因为系统升级导致xcode6.系列版本出现bug,于是开始使用xcode7.在使用之余突然想到collectionView在iOS9中发布了一个可以移动cell的新特性,就尝试着将其实现,无奈ap ...
随机推荐
- ionic 中$ionicView.beforeEnter 事件的一个bug
我在使用ionic写app的时候,需要使用$IonicView.beforeEnter事件,在页面进入前做一些事情,但是发现,它不起作用,很蛋疼,后来,看了别人做的app例子,也涉及到这个$Ionic ...
- ognl.OgnlException: target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@1513fd0)
[com.opensymphony.xwork2.ognl.OgnlValueStack] - Error setting expression 'emaiTypeDto.emailTypeNo' w ...
- Creating Dialogs
#ifndef DIALOG_H #define DIALOG_H #include <QtWidgets> //#include <QDialog> //#include & ...
- php 安装yar扩展
git:https://github.com/laruence/yar 先克隆 如果没有 git 需要先安装 yum install git 然后 克隆 git clone https://githu ...
- WebUpLoder 能自动预览,能多实例,包括后台demo
样式在网上找的.样子: 懒得写别的了,代码里面我写的注释挺详细的:https://github.com/zhangsai521314/WebUpLoder 写文不易,转载请注明出处:http://ww ...
- laravel old
最近做一个laravel框架下的一个网页.遇到了old 无法点击选中的问题,捉摸好久,原来,laravel下的old 是基于seesion下的. 如果想用old必须要在session有的情况下.
- maven工程使用spring-boot-devtools进行热部署,更改代码避免重启web容器
spring-boot-devtools 是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.相关Blog: 点击打开链接 原理是在发现代码有更改之后,重新启动应用 ...
- [原创] Easy SysLite V1.2 (2016.5.29更新,新增加WIN10支持,一个程序适配所有系统减肥)
[原创] Easy SysLite V1.2 (2016.5.29更新,新增加WIN10支持,一个程序适配所有系统减肥) nohacks 发表于 2016-5-29 17:12:51 https:// ...
- 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)
版权声明:本文由阁主的小跟班原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云 ...
- linux command
ubuntu start network:sudo service network-manager start