Swift,你不得不学的5个原因
发布于 9 年前 作者 ye123456 4515 次浏览 最后一次编辑是 8 年前 来自 分享

swiftbird_meitu_1.jpg 自从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(<a href=“https://github.com/apple/swift-evolution”>https://github.com/apple/swift-evolution</a>)的repository用来放置用户对Swift的反馈和建议。swift-evolution同时也用来记录Swift的重要改变。

Swift3.0的许多特性正在被讨论中。这里有一个列表(<a href=“https://github.com/apple/swift-evolution#out-of-scope”>https://github.com/apple/swift-evolution#out-of-scope</a>)标明了哪些东西不会被集成到Swift3.0中,例如:与C++的集成和对并发的支持。

**3.非常易学 **

苹果公司尽量使Swift语言更易学。使用Swift Tour(<a href=“https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.htm”>https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html</a>) 可以快速入门,如果你以前也写过代码,你会很快上手Swift。

更重要的是,无论你是一个初学者还是一个有经验的开发者,网上都有很多的资源可以利用。斯坦福在iTunes U上有免费的课程,Ray Wenderlich(<a href=“http://www.raywenderlich.com/category/swift”>http://www.raywenderlich.com/category/swift</a>)上也有很多有关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(<a href=“https://github.com/vsco/swift-benchmarks”>https://github.com/vsco/swift-benchmarks</a>)记录了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(<a href=“https://travis-ci.org/”>https://travis-ci.org/</a>)通常都会在几天之内增加对Xcode新版本的支持。这意味着你可以使用很多非常好的测试框架,比如:Quick,这能让你快速测试Swift代码,并推送到Github上。

所以你还在等什么?

从上面这些内容,你也许已经猜到了,我是一个Swift的狂热者。苹果对语言的初始设计非常棒,并且把它开源,以使它变得更好。你要做的就是:从现在开始,上手学习。

如果你对Swift开源项目感兴趣,可以看看我们开放的一个基于野狗SDK的实时聊天项目swiftchat(<a href=“https://github.com/WildDogTeam/demo-ios-swiftchat”>https://github.com/WildDogTeam/demo-ios-swiftchat</a>)。你可以参与进来,看看有什么可以改进的。

如果已经是一个有经验的Swift开发者,请在下面留言,我们可以进行更多的交流。

本文由野狗科技翻译,原文链接:<a href=“https://blog.pusher.com/5-reasons-you-should-learn-swift-in-2016-2/”>https://blog.pusher.com/5-reasons-you-should-learn-swift-in-2016-2/</a>

sdfssdfsdf 关注微信公众号,及时获取技术干货

5 回复

强烈支持swift

这里是 NodeJS论坛 你谈什么IOS开发

swift跟js一样一样的,没问题的。

@Hanggi 路还太远。。。node7年才到今天这种地步

@i5ting swift语法跟js挺像的,看着很亲切啊,感觉就是为js开发者设计的,hoho~~~

回到顶部