我們的 Swift 項目上線已經(jīng)有一段時間了。結合目前 Swift 的使用情況,總結下其與 Objective-C 相比的優(yōu)缺點。
總的來說,我認為使用 Swift 來作為編程語言的優(yōu)點還是要遠遠大于缺點的,而且很多缺點蘋果也在逐漸改善。
-
優(yōu)點
-
簡潔的語法
-
更強的類型安全
-
函數(shù)式編程的支持
Swift 語言本身提供了對函數(shù)式編程的支持。
Objc 本身是不支持的,但是可以通過引入 ReactiveCocoa 這個庫來支持函數(shù)式編程。 -
編寫 OS X 下的自動化腳本
-
-
缺點
-
App 體積變大
使用 Swift 后, App 體積大概增加 10 M 左右,對體積大小敏感的慎用。
-
體積變大的原因是因為 Swift 還在變化,所以 Apple 沒有在 iOS 系統(tǒng)里放入 Swift 的運行庫,反而是每個 App 里都要包含其對應的 Swift 運行庫。
-
Xcode 支持不夠好
如果你是使用 Xcode經(jīng)??ㄗ』蛘弑罎⑾氡啬闶强隙ㄅ龅竭^了,這個是目前使用 Swift 最讓人頭疼的事情,即使是到現(xiàn)在XCode 8, 有時候也會遇到這種問題,所以要看你的承受力了……
-
第三方庫的支持不夠多
目前確實 Swift 編寫的第三方庫確實不多,但可以通過橋接的方式來使用 Objc 的三方庫,基本上沒有太大問題?,F(xiàn)在已經(jīng)改善很多了...
-
語言版本更新帶來的編譯問題
Swift 語言本身還在發(fā)展,所以每次版本更新后都會出現(xiàn)編譯不過的情況(至少到目前為止還是),但是自從 1.0 版本發(fā)布后,改動沒有 beta 時候那么大了,而且根據(jù) Xcode 提示基本就可以解決語法變動導致的編譯問題了。