我們的 Swift 項目上線已經(jīng)有一段時間了。結(jié)合目前 Swift 的使用情況钙勃,總結(jié)下其與 Objective-C 相比的優(yōu)缺點。
總的來說,我認(rèn)為使用 Swift 來作為編程語言的優(yōu)點還是要遠(yuǎn)遠(yuǎn)大于缺點的躯护,而且很多缺點蘋果也在逐漸改善枉证。
-
優(yōu)點
-
簡潔的語法
-
更強(qiáng)的類型安全
-
函數(shù)式編程的支持
Swift 語言本身提供了對函數(shù)式編程的支持室谚。
Objc 本身是不支持的,但是可以通過引入 ReactiveCocoa 這個庫來支持函數(shù)式編程含潘。 -
編寫 OS X 下的自動化腳本
-
-
缺點
-
App 體積變大
使用 Swift 后遏弱, App 體積大概增加 10 M 左右漱逸,對體積大小敏感的慎用袋坑。
-
體積變大的原因是因為 Swift 還在變化,所以 Apple 沒有在 iOS 系統(tǒng)里放入 Swift 的運(yùn)行庫,反而是每個 App 里都要包含其對應(yīng)的 Swift 運(yùn)行庫。
-
Xcode 支持不夠好
如果你是使用 Xcode經(jīng)乘常卡住或者崩潰想必你是肯定碰到過了,這個是目前使用 Swift 最讓人頭疼的事情镊折,即使是到現(xiàn)在XCode 8胯府, 有時候也會遇到這種問題,所以要看你的承受力了……
-
第三方庫的支持不夠多
目前確實 Swift 編寫的第三方庫確實不多恨胚,但可以通過橋接的方式來使用 Objc 的三方庫骂因,基本上沒有太大問題。現(xiàn)在已經(jīng)改善很多了...
-
語言版本更新帶來的編譯問題
Swift 語言本身還在發(fā)展赃泡,所以每次版本更新后都會出現(xiàn)編譯不過的情況(至少到目前為止還是)寒波,但是自從 1.0 版本發(fā)布后,改動沒有 beta 時候那么大了升熊,而且根據(jù) Xcode 提示基本就可以解決語法變動導(dǎo)致的編譯問題了俄烁。