WWDC2014最大的震撼恐怕就是swift了(虽然对我来讲,metal更震撼)。昨晚2点多看完后,完全睡不着了,看新出的那本guide,看了个7788后,很激动,比起ObjectiveC,swift确实是更现代的一门语言。Xcode下好后,第一时间体验了下。结果怎么说呢,心情很复杂。
以上是前言。
语言本身的好处就不说了,会有无数的人来评判。现在来说说最大的问题,swift只能和ObjectiveC交互,而不能和C/C++直接交互,这意味着什么呢:
这个列表还可以继续下去。所以swift其实能干的事情比想象中的少的多的多。你基本就被限制在了UIKit系里了。
另一个问题是,swift不支持异常。所以当你调用ObjeciveC的时候,必须保证ObjectiveC的异常不会抛出。可选的方法应该就是把异常转换成error code,不然程序就直接挂了。这个问题,怎么说呢,很恶心。
就第一个问题来讲,其实给大家带来了一个非常大的机会,就是把所有C接口的东西都包装成ObjectiveC的module,做library赚人品,赚钱,赚名声,喜欢什么就看你们的了,反正我第一时间肯定是要移植GCD的。
最后,希望Apple能提供更多的library给swift,一个语言好不好用,和语法有关系以外,和library的丰富程度也是极其相关的。
swift 的创新之处是在于其 IDE 带来的可视化编程的革新吧。
不是拖拉控件的可视化,而是对于动画轨迹的可视化。这种变化,可以让凡人做动画编程更容易,让牛人做动画编程更诡异。
swift 其实不是在 c 于 obj-c 之间的语言,应该是比 obj-c 更高级的语言。
但是这不妨碍其比 objc-c 更快。
据说已经有GCD支持了,我还没细看,我觉得这些库都不难支持,毕竟苹果开发了一个新语言,目标应该是比OC好用,所以,库的问题他们肯定在解决了,而且我感觉应该会有一些新库和新技术,主要用于Swift
Swift是兼容C的: https://developer.apple.com/library/prerelease/mac/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//appleref/doc/uid/TP40014216-CH8-XID13