swift是苹果公司在2014年wwdc(苹果开发者大会)发布的一门现代的、安全的、高效的开发语言。相对于苹果公司之前的语言。object-c,增加了更加多的语法特性,开发起来比较快速同时palyground的出现可以增加学习编程的兴趣,是学习的编程的利器。2015年12月4日,苹果公司宣布swift编程语言现在开源代码。我也有幸经历了这个历史时刻,我深信这门语言未来的发展将会更加的好。
从大学毕业开始,学习的第一门语言就是swift。第一次开始接触swift的时候语言刚好发展到1.2。相对于swift刚出来,已经是相对稳定的版本,只不过编译器xcode相对比较迟钝。当时感觉swift相对于其他面向对象的语言,语法上更加的简单,书写起来也非常的流畅。对于第一次接触编程的人来说,可以很快的上手,相对于其他面向对象的语言,c++、java、c#等,swift可以说是面向协议的编程。熟悉了其他面向对象的同学,对于swift也是很容易上手,但是在写法上会觉得很怪。特别是类型写在变量之后,虽然swift能够自动的推导类型,但是对于函数的参数,我们目前还是需要带上类型。
swift里函数是一等公民,所以函数在swift里也是非常的重要,我也是第一次开始接触闭包的概念,闭包是引用类型,能够自动捕获上下文,听起来感觉很棒,swift吸收很多其他语言的优秀特性包括js,c#等,特别是c#,个人觉得,语言写法上与js类似,功能上跟c#相似,例如泛型,类型转换等,当然swift也有自己独特的特性(元组等,枚举和结构体可以带方法,实现方式是结构体, 当然特色当然还是协议,号称面向协议的编程怎么能没有独特的东西),由于swift的类型安全特性,引入了可选的类型概念,虽然写起来?!等,看起来怪怪的,但是功能还是蛮强大的。
公司用swift1.2开发的项目,目前升级到2.0,一堆的红黄叹号,看着就想掉眼泪,233333。swift2.0引入了错误处理机制,实现是借助于枚举,错误类型ErrorType,其他语言,是通过错误处理对象,swift强大的枚举也是不容小觑。swift在语句的写法上更加严格,不需要修改的变量都要用let来标识,否则就是一个黄色警告,方法的调用也不能直接调用,需要在前面加缺省的赋值,不知道苹果怎么想的,感觉写起来好难看,23333 。
接下来就是等待swift3.0的到来了,swift自己的fundation要来临了,区别于object-c,到时候希望项目不要改的太痛苦,2333,应该难免了,改动会比较的大。接下来开始要开发安卓了,暂时要告别swift一段时间,到swift3.0到来的时候,可以痛快的来一场大修改23333 。