关于Swift和Xcode 6 beta的一些感受

刚刚完成了Reco的Alpha版本的开发,从Xcode6 beta4一路走来到Xcode beta7,几乎每个版本都要应对Apple对swift语法上的修改,更有甚者在beta5的时候由于closure无法使用unowned声明而导致使用闭包的循环引用问题得不到很好的解决,但是还好,在beta6的时候Apple做了修复。但是对于Beta版本来说,这样的问题倒是还算可以接受。

关于Swift

在WWDC2014苹果发布Swift的时候,有很大一部分开发者积极的参与到Swfit的学习当中,WWDC给我的唯一印象就是Swift是一门更人性化的语言,更适合开发者的习惯,能让代码可读性更强,开发效率更高,当然苹果号称Swift执行效率也更高。随着最初版本的Swift GUID和Reference的发布,笔者发现Swfit从某种角度来看,非常好用。比如响应链机制,类型安全,包括新加入的元组类型,最出色的时Playground,对于界面编写Playground简直就是神器。 但是随着一点点的学习,也总结出了一些问题,比如,由于Swift在当前阶段还很不成熟,此时去学习研究的成本非常的高,对于不常读文档的童鞋们,每两周的一个release note可能都读不下来,这样很难跟随Swfit前进的脚步,前文说到Swfit一直在进行语法或者机制上的调整,所以,如果不跟随release note去跟进,很有可能正式版发布之后开发者会掉入最初Swift的深坑。 另外,Swift的不成熟决定了未来很长一段时间不会被大面积采用,所以Swift目前来看市场不大。而当Swift作为一门脚本语言使用的时候还是稍显笨拙。 从Beta到Beta7,如果说Swift经历了一个翻天覆地的变化丝毫不过分,换个角度说,Swift已经从一个很单纯的小姑娘变成一个不那么单纯的小姑娘(=。=# 想了半天,怕被拍砖,理解就好)。Swift每个版本的迭代都加入了大量的关键字以及复杂的机制,经过了这种巨大的增量之后,Swift依然还是如当初Apple说的那样简单,开发效率高么? 最后,对刚刚入行的童鞋们提个忠告,如果你想脱离OC学iOS开发,至少要等到两年之后,现在想入行,还是要老老实实学OC。从成熟到大面积使用是个过程,总得一点点来。

关于Xcode

总体来说,Xcode6的beta版本稳定性个人感觉在非Swfit情况下要优于Xcode5的beta,但是Swift的情况略显糟糕,如不意外,Apple几乎必然会在9.9的发布会上发布搭载iOS8的iPhone6,届时也肯定会推出GM版的Xcode和iOS8,就目前状况来看,Swift在每个版本的变动还比较大,不知道GM版本会不会有大的飞跃。目前使用的beta7编译速度非常慢,编写代码的时候偶尔会发生严重卡顿的现象。 由于新项目是用之前不常接触的CoreData Swift在Xcode 6 Beta版本下写成的,目前刚刚进去Alpha版本阶段,到Release还需要一段时间,这次的项目,笔者同以往项目不同尝试了很多以往不太常用的功能,以及Xcode新发布的功能,比如Xcode新版本中自带了reveal的running透视视图层级的功能,对于UI DEBUG来说,这个工具能解决90%以上的位置问题。还有Playground,有很多控件是在Playground下编写的,非常高效,同时还使用了Xcode 6对单元测试的一些强化,比如异步方法的测试、方法调用的时间标准差(STDEVS)来评估方法的合理性和稳定性。总体来看,可以很明显的观察到Apple对于开发者的重视,诸多便于开发的工具和功能的不断发布,让笔者感受到了作为Apple Developer的优越感:)。本着工欲善其事,必先利其器的原则,我个人对于开发的工具(无论是硬件还是软件)都比较挑剔,在良好的环境下进行开发是种享受,程序员很苦逼,总要对自己好一点,有装备了才好升级。

另外为新项目打个广告,是个很微缩的项目叫Reco,主要的用途是用来做计划并完成它同时也给自己保留对自己完成的事情的一些回顾的空间。后边我会在我的微博上发布详细信息。THX~

你可能感兴趣的:(关于Swift和Xcode 6 beta的一些感受)