Swift,是蘋果於2014年WWDC(蘋果開發者大會)發佈的新開發語言,可與Objective-C共同運行於Mac OS和iOS平臺,用於搭建基於蘋果平臺的應用程式。它是一款易學易用的編程語言,而且它還是第一套具有與腳本語言同樣的表現力和趣味性的系統編程語言。Swift的設計以安全為出發點,以避免 ...
Swift,是蘋果於2014年WWDC(蘋果開發者大會)發佈的新開發語言,可與Objective-C共同運行於Mac OS和iOS平臺,用於搭建基於蘋果平臺的應用程式。它是一款易學易用的編程語言,而且它還是第一套具有與腳本語言同樣的表現力和趣味性的系統編程語言。Swift的設計以安全為出發點,以避免各種常見的編程錯誤類別。
今天,根據目前 Swift 的使用情況,我們來總結下它與 Objective-C 相比的優缺點。
"Swift" PK "Objective-C"優點:
1、 簡潔的語法:
我們不得不承認的是swift語言比OC精簡,整個項目中丟掉了頭文件,以及頭文件的引入。
2、報錯精準:
報錯的時候直接顯示報錯行。
3、定義變數簡單:
定義變數不用區分整型,浮點型等等,變數使用var,常量使用let。
4、可視化互動效果:
開發工具帶來了Xcode Playgrounds功能,該功能提供強大的互動效果,能讓Swift源代碼在撰寫過程中實時顯示出其運行結果。
5、函數式編程的支持:
Swift 語言本身提供了對函數式編程的支持;
Objc 本身是不支持的,通過引入 ReactiveCocoa 這個庫才可支持函數式編程。
缺點:
1、Swift目前還沒有得到全面性的推廣:
很多大公司,以及一些老的項目,仍然使用OC語言進行開發。老程式員從oc轉到swift是一件並不簡單的事,所以當你在項目中遇到一些問題的時候,你會發現,身邊能幫你解決問題的人幾乎沒有,網路上的資源也是很稀有的。
2、Swift暫時還不穩定:
你會發現,swift2.0,swift3.0,以及現在的swift4.0是有很大的區別的,每次升級開發工具的時候,看到幾十甚至上百個錯誤提示,難免急出一身冷汗。
3、第三方庫的支持不夠多:
我們在做一個項目時,通常會用到一些第三方,但是現在swift版本的第三方是非常稀有的,以至於在開發的過程中,不得不導入OC版本的第三方,這個時候便成了混合開發,有經驗的朋友會發現,有的相容性並不是那麼好,而且在混合開發的時候,項目會變大,運行速度真的是太慢了。
4、App體積變大:
使用 Swift 後, App 體積大概增加 5-8 M 左右,對體積大小敏感的慎用。(體積變大的原因是因為 Swift 還在變化,所以 Apple 沒有在 iOS 系統里放入 Swift 的運行庫,反而是每個 App 里都要包含其對應的 Swift 運行庫。)
5、上線方式改變:
在上線的時候,不能使用application Loader上傳包文件,會提示你丟失了swift support files,應該使用xcode直接上傳。
仁者見仁智者見智,有人說Swift遲早要取代OC,有人說數年內依舊是OC的天下,至於選擇哪種語言開發程式,就看你自己的選擇了。(有歷史包袱的大廠 MRC 都還沒消除乾凈,上 Swift 更是遙不可及,也許等到公司倒閉都不會這樣做,移植的成本極大。小公司船小好掉頭,隨你怎麼折騰,重寫也不是完全不可能。)
作者:Joh蝸牛
鏈接:https://www.jianshu.com/p/73df8495ad3a
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。