自从2014年WWDC,Swift已经有了数不清的改进。苹果也在2015年开源了Swift的源代码。
当苹果宣布Swift的时候,我有一点兴奋,甚至有一点吃惊。这并不是说我对Objective-C不感兴趣,恰恰相反,我是Objective-C的粉丝。然而,Swift集成了许多我喜欢的其他语言特性,如:protocols,closures,generics和tuples。
我不知道你是否已经开始探索Swift的魅力,这篇文章是我使用Swift一年半以来的一些观察和感悟。
**1.这不仅仅是为了iOS **
当然,Swift在苹果平台上非常好用。但是现在苹果已经为Ubuntu提供了预编译的二进制文件,这使它同样可以应用在Linux平台上。这对那些想要同时在服务端和客户端写Swift的人是个好消息。一些社区的成员,甚至已经进一步把Swift代码应用于Android平台。
**2.打造一门语言的机会 **
从一开始就参与到一门语言打造过程的机会并不多。得益于社区,每天Swift都变得更快、更稳定和更强大。
当苹果开源了Swift的时候,他们专门制作了一个叫做swift-evolution(https://github.com/apple/swift-evolution)的repository用来放置用户对Swift的反馈和建议。swift-evolution同时也用来记录Swift的重要改变。
Swift3.0的许多特性正在被讨论中。这里有一个列表(https://github.com/apple/swift-evolution#out-of-scope)标明了哪些东西不会被集成到Swift3.0中,例如:与C++的集成和对并发的支持。
**3.非常易学 **
苹果公司尽量使Swift语言更易学。使用Swift Tour(https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html) 可以快速入门,如果你以前也写过代码,你会很快上手Swift。
更重要的是,无论你是一个初学者还是一个有经验的开发者,网上都有很多的资源可以利用。斯坦福在iTunes U上有免费的课程,Ray Wenderlich(http://www.raywenderlich.com/category/swift)上也有很多有关Swift的资源。如果这些还不够,Coursera,Treehouse和Udemy都提供了很多Swift的课程。
此外,就像我前面提到的:Swift被很多其他语言影响。如果你是一名有经验的开发者,你会在Swift中看到很多熟悉的语法和概念。至少从我的角度来看,使用Swift写代码从来不是一件困难的事。恰恰相反,我发现使用Swift写代码很自然、很简单。
**4.Swift面向未来 **
Swift采纳了Objective-C很多好的特性,并且引入了许多能够解决实际问题的新特性。Swift是一个快速、灵活和强大的语言。Objective-C语言引入 了ARC(Automatic Reference Counting)机制,使得程序员不必要担心内存管理。Swift保留了这个机制,这意味着所有必要的retain和release都已经被设定好了,你根本不用担心垃圾回收的问题。
一些重要的特点包括:
- ARC机制被保留,不用担心垃圾回收。
- Named参数使得创建和使用API更简单。
- 错误处理非常简单。
- Swift支持inferred类型,这意味着你可以快速创建静态类型。Swift也有一些函数式编程模版,比如map和filter函数。
- Swift速度很快,它使用LLVM编译器生成机器代码,并且自动为平台适配,这个repository(https://github.com/vsco/swift-benchmarks)记录了Swift性能方面的表现。
**5.好用的工具和完善的生态系统 **
当你使用Swift写代码时,大部分都在使用Xcode作为IDE。Xcode包括了苹果不同平台的界面生成器和模拟器。对Xcode实在喜欢不起来?你也可以使用AppCode甚至一些文本编辑器,比如:Sublime Text、Textmate和Vim。
Swift现在有三个主要的包管理工具:Cocoapods,Carthage和最近发布的Swift Package Manager。其中,Swift Package Manager的发布是与Swift开源同时进行的,并且很有可能成为Swift通用的包管理解决方案。
同样,Swift有完整的从Objective-C继承过来的整合生态系统。例如:Travis(https://travis-ci.org/)通常都会在几天之内增加对Xcode新版本的支持。这意味着你可以使用很多非常好的测试框架,比如:Quick,这能让你快速测试Swift代码,并推送到Github上。
所以你还在等什么?
从上面这些内容,你也许已经猜到了,我是一个Swift的狂热者。苹果对语言的初始设计非常棒,并且把它开源,以使它变得更好。你要做的就是:从现在开始,上手学习。
如果你对Swift开源项目感兴趣,可以看看我们开放的一个基于野狗SDK的实时聊天项目swiftchat(https://github.com/WildDogTeam/demo-ios-swiftchat)。你可以参与进来,看看有什么可以改进的。
如果已经是一个有经验的Swift开发者,请在下面留言,我们可以进行更多的交流。
本文由野狗科技翻译,原文链接:https://blog.pusher.com/5-reasons-you-should-learn-swift-in-2016-2/
关注微信公众号,及时获取技术干货