Swift,你不得不学的5个原因
自从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的repository用来放置用户对Swift的反馈和建议。swift-evolution同时也用来记录Swift的重要改变。
Swift3.0的许多特性正在被讨论中。这里有一个列表标明了哪些东西不会被集成到Swift3.0中,例如:与C++的集成和对并发的支持。
3.非常易学
苹果公司尽量使Swift语言更易学。使用Swift Tour可以快速入门,如果你以前也写过代码,你会很快上手Swift。
更重要的是,无论你是一个初学者还是一个有经验的开发者,网上都有很多的资源可以利用。斯坦福在iTunes U上有免费的课程,Ray Wenderlich上也有很多有关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记录了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通常都会在几天之内增加对Xcode新版本的支持。这意味着你可以使用很多非常好的测试框架,比如:Quick,这能让你快速测试Swift代码,并推送到Github上。
所以你还在等什么?
从上面这些内容,你也许已经猜到了,我是一个Swift的狂热者。苹果对语言的初始设计非常棒,并且把它开源,以使它变得更好。你要做的就是:从现在开始,上手学习。
如果你对Swift开源项目感兴趣,可以看看我们开放的一个基于野狗SDK的实时聊天项目swiftchat。你可以参与进来,看看有什么可以改进的。
本文文字及图片出自 www.sdk.cn
你也许感兴趣的:
- 苹果现已支持 Swift 包索引
- 苹果成立 Swift 编程语言工作组!
- swift语言之父已确认被电动汽车公司特斯拉挖走!
- 将项目升级到 Swift 3?这些坑在等着你
- Swift中的Futures/Promises原理及用法
- 四款后起编程语言能否成功挑战Python的王者地位
- 王垠:Swift 语言的设计错误
- 从Android到Swift iOS开发:语言与框架对比
- 使用 Swift 语言编写 Android 应用入门
- Swift 中 10 个震惊小伙伴的单行代码
你对本文的反应是: