使用swift开发已经有半年之久了,期间做了一个电商应用,类似京东,苏宁的。主要谈谈感受,swift简洁的语法,不用写分号,所有自己写得工具类,第三方类库,都能自动import,着实令人大呼过瘾。
但是开发到后期,把我折磨得最惨的是它的编译、启动速度。我们都知道,objective-c只编译修改过的文件,而且取消了.pch文件之后,更减少了编译工作量。但是swift的编译速度却慢得令人疑惑,有时候修改了一个swift文件,竟然也要编译好一会。我用iMac和MacBook air都试过了,速度慢的不相上下。我猜测是swift编译器还不成熟导致的。
如果用得是模拟器开发那还好,如果是习惯使用真机开发的话,呵呵。它编译启动之间,还有一个Copying Swift standard libraries的工作,这个可是真机调试每次都要做的。所以这10几20秒钟,每次都得等。
还有就是,swift开发出来的应用,安装包都大得多,我猜测可能是安装包里还包含了swift standard libraries?说好的简洁语法,减少代码量,呵呵,安装包还更大了。
开发objective-c的时候,感觉就是拿着一把微型冲锋枪,轻装上阵,coding, Command + R一气呵成。几秒钟基本就编译好并启动了。虽然objective-c语法冗长,但是熟练了之后,写起代码的速度并不慢,编译启动速度就甩了swift几条街啊(这里还是想吐槽一下, xcode6.3一出来的时候,swift的语法提示,都要延迟个3秒以上,3秒后才弹出来的提示,有何意义?直接手敲全部方法名了。Xcode6.3.2出来后,这个问题有改善,但是代码提示还是比不上objective-c的迅速,可能还是新东西不成熟的问题吧)
再来说swift的开发体验,swift就感觉像是扛着一台火箭炮,笨重,不灵活,编译启动就好像是填装炮弹,半天装好一颗,然后,pong... 啾~~~ 轰。就是写代码得速度很快,但是Command+R的时候,就卡壳了。说真的, 这几分钟我的思路就这么被阻隔了。
所以,当时swift一出来的时候,我就立马去学习了,并且开始使用它,但是我被坑的很惨,试验品都要承受痛苦的。WWDC说swift2.0来了,我还是继续观望,至少编译启动速度不提升到令人满意的程度之前,我是不会再碰swift了。
你说什么?小项目启动速度很快。我觉得任何一个小项目都有可能变成大项目,等到你发现他变成大项目,并且编译启动速度令人惊愕的时候,再来想用objective-c重写已经来不及了,你已经被绑架,成为实验牺牲品了。