Swift 再等等?我的答案是:快上車
本文談下 iOS 開發要不要選擇 Swift 的問題,純主觀無資料支撐,拒絕反駁,歡迎打賞。利益相關:實際專案中使用 Swift 一年半,從此 OC 是路人。
Swift 現狀:與 OC 共存
如果你想彎道超車,以為只要學會 Swift ,就可以不用管 OC ,iOS 開發回到一條起跑線上,我只能說:
因為這個想法很不現實。iOS 的核心 UIKit 是 OC 寫的,其實 iOS 大部分的 framework 都是 OC 寫的。喬幫主留給我們的珍貴歷史遺產,能說扔就扔?
管不住我這雙配圖的手
如果你完全不懂 OC ,在目前的形勢下,你甚至無法成為一個合格的 iOS 的工程師。
Server side 雖然是完全脫離了 OC ,但是服務端的開發環境和工具鏈離真正的商業應用還為時尚早,除非你想寫出別人無法維護的服務端程式碼。
開發者對 Swift 接受程度
那 Swift 到底有沒有人用呢?
我們看TIOBE的2月程式語言排行榜:
Swift 排在 12 名,OC 排在 19 名。其實在一年前,兩個的關注度還是五五開,到了現在已經拉開差距。
Swift 從國際的角度來看,接納程度已經超過 OC(歐美地區)。也可以去 Quora 上搜搜類似的問題。Swift 2.0 的時候還有很多質疑的聲音,到現在開發者已經接受的非常自然了。使用 Swift 開發是顯而易見的。
國內開發者對 Swift 怎麼看
這裡有個問題需要先想清楚,什麼樣的開發者的意見值得聽?很多技術不同的開發者都有不同的聲音,有人激進,就有人保守。
我的價值觀是,相信那些最頂尖的程式設計師的判斷。當然這純粹只是我個人的想法。有些程式設計師如果已經不在一線開發,在一線時也不是特別出類拔萃,他們的觀點我就會懷有質疑的態度(前端的朋友你們知道我說誰了)。當然了,這些只是對未來技術趨勢的判斷。我相信頂尖的程式設計師的判斷,我把他們當做舵手。
我列幾個我心中國內幾個頂尖的開發者對 Swift 的態度。
- 王巍,kingsfiser作者,《Swifter 100 tips》作者,毫無疑問,1.0 時代開始就看好 Swift
- 鍾穎(cyan),去年國內最優秀的獨立應用開發者,顯然一直在用 Swift 開發,在去了微軟以後依然使用 Swift
- @故胤道長畢業於CMU,矽谷 flag 公司 Uber 架構組工程師,Uber 的 app 是全 Swift,Swift 早已是日常選擇。
-
MrPeak,部落格篇篇精品乾貨,在2016年iOS技術圈回顧中寫到:
Swift進入公眾視野已有一段時間,開發者社群的接納度非常好,就我所接觸的團隊來說,已有不少在新產品中全面轉向Swift的了。對於Objective C陣營的開發者來說,學習Swift已經是刻不容緩的事情了,對於新入行iOS猶豫在Objective C和Swift之間學哪個的同學來說,答案是兩個都學。
Swift還處於新生期,這門集眾家所長語言所包含的潛力還遠沒有被挖掘乾淨,業界的最佳實踐還需要大量的產品來錘鍊,響應式,函式式,面向協議等等都是大話題。還沒看過喵神最近關於面向協議程式設計文章的同學,可以去仔細閱讀感受下面向協議對於現有OOP方式的改變,這種思想層面的顛覆正是Swift的魅力所在。使用Swift的問題也還很多,Xcode崩潰,語法高亮消失,編譯慢等等,你可以看到很多開發者吐槽用Swift寫程式碼,但沒有人轉身離開。
國內“大”公司的態度
我一度以為國內正規公司沒人用 Swift 。
對於豆瓣團隊的技術實力我是不懷疑的,在去年我欣喜的發現他們在用 Swift ,而且還用的挺好,在豆瓣App的模組化實踐中提到:
Swift 在工程效率上確實優於 Objective-C。和 Objective-C 相比,Swift 可以用更少的程式碼,更清晰的方式完成相同的功能。當然,混合使用 Swift 和 Objective-C 存在一定的工程成本。所以,這裡就需要權衡:是保持簡單,只使用 Objective-C 呢?還是忍受一定的不便,使用一些 Swift,帶來效率上的提升呢?
我們在專案中使用 Swift 的體會是:有快樂,當然也伴隨著一些不便。總體而言,不便都可以克服。
2月初的時候剛好和隔壁的一個網易的朋友聊天,問他們用 Swift 嗎。他說新的程式碼有些已經開始用 Swift 寫。維護的部分就還是用 OC。
一位不願透露姓名的百度的朋友(@AidenRao)前幾周在群裡說他們一個專案在考慮使用 Swift ,最近在做調研,後來他們專案組決定使用 Swift 開始寫。
上次去餓了麼參加一個技術活動時也得知他們接下來會慢慢開始轉移到使用 Swift 開發。
Swift使用現狀總結
在國外使用 Swift 開發已經是一件很主流的事情。在國內不知道為什麼原因(其實我就是不好意思明說)使用 OC 還是絕對的主流,使用 Swift 的只是一小撮開發者。
如何評價:為什麼很多大公司繼續使用 Objective-C,不用 Swift?
我就問一句:哥,你在的是大公司嗎?BAT用什麼技術你就用什麼技術?代入感不要這麼強好吧。
可是他們說 Swift 不穩定啊
可是他們說 Swift :不穩定,不成熟,慢,混編效率差。
這些只是大部分不願意學習新技術的人的藉口。如果你真的學習了 Swift ,寫了幾千行程式碼,你覺得這些問題真的是問題,我就認了。但是你務必自己去試一試。
當然我不可否認使用 Swift 是有代價的。但是,哥有信仰。
上車吧,我在秋名山等你
選不選 Swift 其實是一種態度。
有可能,光光不想和那群傻逼一樣還寫 OC 就夠了。
不好意思,我又衝動了。
相關文章
- AI小白快上車!這是發往高薪職位的車!AI高薪
- 快上車,scrapy爬蟲飆車找福利(三)爬蟲
- 快上車,scrapy爬蟲飆車找福利(一)爬蟲
- Okhttp-interceptor原始碼分析,快上車!HTTP原始碼
- 快上車 榮耀手錶2體驗分享
- 我是直接學Swift還是Objective-C?SwiftObject
- 再說swift namespaceSwiftnamespace
- magnetX,資源搜尋神器!老司機快上車!
- 再談“我是怎麼招聘程式設計師的”程式設計師
- iOS全棧之路,刻不容緩,快上車環境配置篇iOS全棧
- 國外遊戲發行商:訂閱服務興起是大勢所趨,獨立開發者快上車遊戲
- Pycharm常用的小技巧彙總,Python新手上路必備,快上車!PyCharmPython
- 不要再問我Java程式是怎麼執行的了!Java
- 我應該直接學Swift還是Objective-C?SwiftObject
- 快上車丨直播課“Hello ArkansasUI:初識Slider元件(eTS)”來啦UIIDE元件
- [上海][區塊鏈] MyToken 招聘 Go & PHP & Python & 前端,大神們快上車區塊鏈GoPHPPython前端
- 再見JQuery,我的老朋友jQuery
- 后羿:我射箭了快上—用MotionLayout實現王者榮耀團戰
- 我不懂 Swift 語言Swift
- 三款筆記本盤點,快上車帶你看看輕薄本推薦筆記
- 再見,我的技術夢想
- 我們是如何實現漂亮動畫的-列車飛馳的載入動畫動畫
- 小米智慧腳踏車 看到外形還是我輸了!
- iPhone更換電池是原裝還是第三方?先彆著急決定,看完文章再給答案iPhone
- 普通人如何站在時代風口學好AI?這是我看過最好的答案AI
- [上海][區塊鏈] MyToken 招聘 Go & PHP & Python & 前端,大神們快上車區塊鏈GoPHPPython前端
- 高手 高手 高手 給我一個答案
- 關於 Swift,我不喜歡的幾點Swift
- [北京五道口] [14薪] 打造自動駕駛大腦的Momenta公司招聘啦,趕快上車吧~自動駕駛
- 來不及解釋了,快上車!LR.NET開發平臺助力企業資訊互聯
- 等等!這兩個 Spring-RabbitMQ 的坑我們已經替你踩了SpringMQ
- 不要再問我跨域的問題了跨域
- WF公務車新需求開發(再續)
- StringBuilder原始碼分析,讓你不用再死記答案UI原始碼
- linux 中i386 i686....等等是什麼意思Linux
- 求求你,下次面試別再問我什麼是 Spring AOP 和代理了!面試Spring
- Swift 之父正式退出 Swift 核心團隊:這只是在浪費我的時間Swift
- 當我問表單校驗的面試題時,我期望得到什麼樣的答案面試題