iTimothy

Apple的Swift语言

六月初的WWDC2014,可谓果粉们的盛会,除了新的操作系统带来的喜悦,我想,对于开发者们来说,更令人欣喜若狂的应该是苹果新推出的Swift语言了。

火爆的Swift

其实说新也不算新,只能说Apple的保密工作做得太好了。其实,早在2010年的时候,Apple已经让Chris Lattner(LLVM 项目的主要发起人与作者之一,Clang 编译器的作者)来打造这门新的语言了。直到在WWDC2014接近尾声的时候,大家都以为发布会即将结束的时候,Apple突然抛出了这么一个“重磅炸弹”,让所有的开发者们都为之一振。而Chris也在twitter开玩笑的说,他自己估计是世界上第一个拥有4年Swift编程经验的人……

Apple提到这门独特的Swift语言,是objective-c, without c,大有用Swift替代objective-c之意。这门新的Swift语言,迅速在各种社区得到热烈的讨论,其火爆程度实在是让人惊讶。同样的,也即在第二天,Github上就有了第一个用Swift移植的FlappyBird的项目,一瞬间,star数量猛涨…… 随即,各种编辑器的Swift插件就出来了,包括Sublime的,以及Vim的。后来比较有名的游戏2048也出了Swift的版本

再来看看Objective-C

Objective-C的年龄不算小了,发明于80年代初,还跟乔教主有特殊的关系,虽然Apple对Objective-C进行了各种改进,让它自身进行了演化和蜕变,不过跟现代的编程语言相比,总感觉还差了点什么。曾经我也一度想学习iOS开发,而Objective-C,怪异的语法,也一直难以被我接受,成为我不想学习iOS开发的借口,于是转去学习了golang。估计有这样想法的不光是我,应该还有相当一部分的开发者们……

Swift的特点

有人说Swift的语法吸取了现代编程语言的众多有点,有人说像Ruby,也像Python,其实我更觉得Swift倒是从Golang那里取了不少的经。很多地方跟Golang惊人的类似,包括变量的定义方式,函数的定义方式,等等。学了Golang,再来看Swift,语法感觉那叫一个亲切……

个人感觉,Swift的推出,毫无疑问,会降低学习iOS的门槛,大家再也不用纠结Objective-c那种怪异的语法了。Swift的代码写起来风格更加优雅。也许Apple这么做,就是想把之前被Objective-C拦在门外的开发者们重新再拉回来。

Swift本身入门的难度比Objective-C低了不少,能帮助开发者们快速上手和使用,而把更多的经历,留在对Cocoa框架的运用和熟悉上。

开始学习Swift

Apple的动作是很快的,推出Swift的同时,官方的文档就已经上线了。目前官方的文档主要包括两个,一个是《The Swift Programming Language》,主要介绍Swift语言本身的各种特性,另外一个是《Using Swift with Cocoa and Objective-C》,主要介绍如何使用Swift在开发应用时与Cocoa和Objective-C进行调用与交互。

如果你阅读起来官方的Swift教程有困难,悔恨自己当初没有好好听英语老师的话,这里不得不提到一个国内的Swift翻译项目,在Swift推出9天后,翻译完成了中文版的Swift教程。众多翻译者和校对者的参与,让这个项目在Github的趋势上排到了第一。

嗯,哥也无意中在Github上看到这个翻译项目,并有幸参与了翻译,算是亲身体验了一把多人协作的开源项目,感觉很赞也很有成就感……

欢迎大家点击阅读《Swift 编程语言》

支持原创技术分享,据说打赏我的人,都找到了女朋友!