和 Swift 亲密接触的这半个月…

又是半个月没更新 Blog 了,这段时间主要在和 Swift 打交道。具体的说,主要是两件事情:

首先,在六月末时,开源中国的红薯约我在杭州的源创会上讲一个关于 Swift 的话题,尽管我完全对该话题陌生,但还是硬着头皮接了下来;其次,我的微博客户端这个项目遇到了困难,我已经不下十次拿起来,又放下去,最后我做了一个艰难的决定 ----用 Swift 重写该项目。当然,还有第三重意义,那就是尝鲜。就这样,我和 Swift 的亲密接触正式开始了…

于是在这半个月,我趁着用 Swift 重写微博项目的机会,一边学习 Swift,一边为演讲准备具体内容。这半个月可以说过的很戏剧,有苦有乐。

因为 Swift 实在是太另类了----相对于 Objective-C,以致于我刚刚开始用它写代码的时候,痛苦无比,几小时才憋出几十行,我常常怀疑是不是智商不够了,加上还要在活动上演讲,我都考虑是不是得取消这个安排。后来我不断安慰自己:一、这是适应性问题;二、这是 Beta 的问题…就这样,我挺过了前三天,然后终于开始慢慢上手了。

用 Swift 写了一周左右,算是慢慢地找回了一点感觉,尽管因为 Beta 的原因,还是充满各种莫名的问题,但总算是可以进行下去了。另外,得益于实际编程过程中的思考和理解,我也准备好了活动的演讲内容,并且顺利地在上个周六(7月19日)在杭州网易进行的源创会上完成了《初探 Swift》的这个演讲话题。

过去几年每年必定会有至少一次在上百位听众面前演讲的机会,当然都是讲的和 Linux、Ubuntu 和 Ubuntu Tweak 有关的话题。这次讲刚刚出炉的 Swift,讲这个自己还不熟悉的话题,算是一个很大的挑战。这次成功的讲演,让我对挑战未知的事物增加了更大的信心。希望今后还能在各种活动上讲自己不熟悉的话题,每次都能有一个新的突破。

关于这次活动,还是看开源中国的具体报道吧《7月19日杭州源创会图文报道+主题PPT》,这里只引用一下他们拍的照片 :D

在杭州源创会上分享的《初探 Swift》

关于演讲本身值得一提的是,这是我第一次在演讲的过程中同时穿插了大量的 demo,也就是在 Playground 里写 Swift 代码。对于讲述一门语言的分享话题,如果只说不做,我觉得听众会听得云里雾里,于是我在三十分钟的演讲中插入了共 4 个 demo 来写代码。过程还算顺利,主要还是 Xcode 的 Playground 实在是太好用了,简直就是为了这种演示和教学准备的。不过由于对 Swift 还没有了如指掌,在演示过程中也遇到过一些小错误,好在都一一化解了。这种临场写代码的能力还是需要不断地练习。

比较重要的还有后来的提问环节。

大家问了一些都比较有实际意义的话题,比如 Swift 的出现意味着是不是可以不用 Objective-C, Swift 有什么优势,是不是更好学等等。在这里,我简单地总结一下吧。

关于 Swift 是不是会取代 Objective-C

根据之前我和同行的一些交流以及自己的一些感触,毫无疑问的是:Swift 的出现意味着 iOS / Mac 开发的门槛更高了,更具体的说:成为一个优秀 iOS / Mac 开发者的门槛更高了。因为即使 Apple 决定力推 Swift,但是经过这么多年发展的成熟的 Objective-C 生态圈不是那么容易会被撼动的,在可以预见的将来,三年到五年内,Swift 不会取代 Objective-C,顶多做到平起平坐。因而这个过渡时代,必须同时熟练掌握 Swift 和 Objective-C 将成为开发者的基本功。

关于 Swift 的优点

这是一个比较大的话题,现场我也是说,我对 Swift 的研究还比较浅,这次话题准备也主要是从小的几个特性着手,而这些特性基本都是围绕着「安全」出发的:比如变量必须初始化使用、Optional 是为了让使用空值更加安全、if 只能判断 LogicValue 也是为了更安全。

可以说,从语言的设计和限制上尽可能地尽少程序员常犯的错误是 Swift 的一个重要设计理念,这实现上会带来更多需要理解和掌握的概念,但根据我这几天的编写经历,我相信这还是值得的。

关于它的其他优点,是不是开发效率更高、运行效率也更高,由于我还是初学,暂时还没有深刻体会。

总之, 在 Swift 世界的探索就这样开始了。

这个世界的变化是如此之快,Beta 3 带来的变化还没有熟练,今天 Beta 4 又带来新的语言特性----Access Control 了。这个世界又是如此的充满激情,每天开源项目、周边作品都层出不穷…

未来 Swift 会发展的怎么样我无法预言,我是肯定会怀念这段时间和世界人民一起为 Swift 疯狂的日子的。

<推广> Manico 是一个专门为 OS X 高效率人士设计的 App 启动与切换工具,使用它将加倍电脑日常使用的效率。

» You can leave a comment.

2 Comments

  1. 竟然木有人回复

  2. 还以为是和歌星 Taylor Swift 接触呢……

Leave a Comment