當前位置:
首頁 > 知識 > Swift 再等等?我的答案是:快上車

Swift 再等等?我的答案是:快上車

來自:簡書


作者:微博:@沒故事的卓同學


已獲轉載授權

Swift 再等等?我的答案是:快上車


本文談下 iOS 開發要不要選擇 Swift 的問題,純主觀無數據支撐,拒絕反駁,歡迎打賞。利益相關:實際項目中使用 Swift 一年半,從此 OC 是路人。


Swift 現狀:與 OC 共存


如果你想彎道超車,以為只要學會 Swift ,就可以不用管 OC ,iOS 開發回到一條起跑線上,我只能說:

Swift 再等等?我的答案是:快上車



因為這個想法很不現實。iOS 的核心 UIKit 是 OC 寫的,其實 iOS 大部分的 framework 都是 OC 寫的。喬幫主留給我們的珍貴歷史遺產,能說扔就扔?

Swift 再等等?我的答案是:快上車



管不住我這雙配圖的手


如果你完全不懂 OC ,在目前的形勢下,你甚至無法成為一個合格的 iOS 的工程師。

Server side 雖然是完全脫離了 OC ,但是服務端的開發環境和工具鏈離真正的商業應用還為時尚早,除非你想寫出別人無法維護的服務端代碼。


開發者對 Swift 接受程度


那 Swift 到底有沒有人用呢?


我們看TIOBE的2月編程語言排行榜:

Swift 再等等?我的答案是:快上車



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 是有代價的。但是,哥有信仰。

Swift 再等等?我的答案是:快上車



上車吧,我在秋名山等你


選不選 Swift 其實是一種態度。


有可能,光光不想和那群傻逼一樣還寫 OC 就夠了。


不好意思,我又衝動了。

Swift 再等等?我的答案是:快上車



喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序猿 的精彩文章:

兩個程序的愛情故事
王小波的計算機水平到底有多好?
2017年IT界最「吃香」的技
千萬千萬不要運行的Linux命令
人工智慧是「消滅」還是「臣服」人類?霍金是這樣說的

TAG:程序猿 |

您可能感興趣

最值得買的iPhone是?答案可能是「iPhoneSE 2」
vivoX20Plus好不好?那還用說答案是肯定的啦!
華為MateBook X Pro值得買嗎?看完你就有答案了
Galaxy S9和iPhone X的設計誰能更勝一籌?用戶的反映給了答案
Fly by the seat of one s pants?這是什麼操作?——Jane帶你從世界地圖中找答案
辣媽的定義到底是什麼?BHG Mall「Fashion辣媽」秀給你答案!
糾結買華為P20Pro還是iPhoneX?對比一下就有答案了
為什麼選擇Android和iOS仍然十分重要,答案你絕對想不到
糾結買華為P20Pro還是iPhoneX?看完就有答案了
蘋果iPad Pro能代替MacBook嗎?上手實測告訴你答案!
尋找答案——《Utopia Lives in The Moment》
「對飈」MacBook Pro!小米筆記本Pro能用幾年?這3點給你答案
2018,是順色還是撞色的天下?Valentino剛給出的答案都「好好吃」
為何P20 Pro能把iPhoneX按地上?何剛給出答案
iPhone 7與iPhone 8的區別,這張圖告訴你答案
答案揭曉!這就是今年要發的 OFF-WHITE x Air Jordan 1!
哪個語種國家的人更喜歡iOS?TechWeb告訴你答案!
你的GPA夠拿名校offer嗎?這裡有一道滿分答案
Mac,iPads,iPhone使用壽命你都知道嗎?國外分析師已經給出答案!
你究竟和誰是朋友?Facebook 說,答案在手機鏡頭的劃痕里