面世已一年:快速發展的Swift是否將淘汰Objective-C?

jopen 9年前發布 | 9K 次閱讀 Objective-C

面世已一年:快速發展的Swift是否將淘汰Objective-C?


隨便拉上一個果粉說說這一年來蘋果公司的成就,Apple Watch 肯定排第一,再下來是 iPhone 破銷量紀錄及蘋果 30 億美元收購 Beats Electronics,消息靈通的人說不定還會提到 Apple Car。同樣的問題擺在 iOS 開發者面前的話,去年蘋果公司推出的新一代編程語言,諸多鐵桿果粉早有耳聞的 Swift 必然在排行榜之列。 

而如今,盡管距離 2015 年蘋果全球開發者大會(WWDC 2015)開幕還有好幾個小時,卻已經有不少的參會開發者在舊金山的 Moscone West 會場外排隊等候入場。在今年的 WWDC 上,每天將有 8 個小時的 Swift 實驗室時間,蘋果工程師團隊將講授 Swift 的用法,并解答開發者在 Swift 開發中遇到的問題,同時針對 Swift 專題,也將有 4 場演講專門呈現,屆時,Swift 必將成為眾多參會者討論的熱點。 

一年前的 WWDC 上,由蘋果軟件工程高級副總裁 Craig Federighi 為 Swift 揭幕,演示了類型推理、閉包和多個命名空間等功能。開發者們屏住了呼吸,一時間爆發出熱烈的掌聲。他還開玩笑說:“好多人壓根兒不信 Swift 有多好,還說著‘那些人在胡扯些什么呀’的話”。 

在發布僅 7 個月后,Swift 便已成為 Red Monk 編程語言排行榜上第 22 位最受歡迎的編程語言,并且將來很有可能代替 Objective-C,排名上升至第 3 位。TIOBE 2015 年 6 月編程語言排行榜顯示,Objective-C 已進入“自由落體”,Swift 繼續上升。 

面世已一年:快速發展的Swift是否將淘汰Objective-C?

同樣,在 Stack Overflow(開發者問答網站)對 157 個國家的 26,086 名開發者的調查中也發現:Swift 語言最受開發者歡迎,其以 76.6% 的比重高占榜首。 

面世已一年:快速發展的Swift是否將淘汰Objective-C?

單從推廣度上來說,1995 年推出的 Java 是 Swift 之前最成功的編程語言。盡管 Swift 只局限于 iOS 設備,但到 2017 年會有 15 億臺 iOS 設備,比如今的 10 億多臺幾乎增加了 50%。縱觀大局,Swift 成就下一個成功典范或許只是時間問題。 

面世已一年:快速發展的Swift是否將淘汰Objective-C?
 


諸多大學和培訓機構基于市場需求,已開始提供 Swift 課程。著名的 iOS 開發大牛 Ray Wenderlich 就表示,“Swift 的反響異常熱烈,開發者趨之若鶩。”所以 Swift 推出沒多久,他就立刻將課程重心轉移到這門新語言上。 

面對 Swift 的強大魅力,眾多開發者怎么可能無動于衷?雖然 iOS 應用的編程語言是蘋果公司說了算,但開發者們還是心甘情愿緊緊跟隨,他們很清楚相比 Android 用戶,iOS 用戶能帶來前者四倍的收益,如此一來,Swift 本身如何就不再是最重要的因素了。 

在 Swift 之前,80 年代推出的 Objective-C 是唯一的 iOS 應用編程語言。但如今 Objective-C 已經有點過時了,開發者們甚至用“老掉牙”、“冗長乏味”、“令人生厭”來形容它。當然,只要是熱門語言,總會引來褒貶不一的評價。其實很多開發者并不敢 妄自評論,生怕說了點不合時宜的話會曝光在 Hacker News 上。 

打車應用 Lyft 的工程副總裁 Peter Morelli 被問到 Objective-C 語言是否太有難度時,并未正面回答這個問題,只是說:“它就像宗教戰爭似的,一片開發者忙得熱火朝天的景象。” 

Swift 為何能引發如此熱烈的反響呢?眾所周知,不同編程語言的差別實在一言難盡,挑幾點來說,Swift 既安全(代碼中少有漏洞出現),還體現了一些新特點,跟其他主流語言一樣能為應用添加豐富多彩的附加功能。 

另一個重要的優勢是:開發者有什么需求,都能用 Swift 輕松表達出來交由電腦執行。同樣的效果,可能用 Objective-C 就得多好幾行代碼,但 Swift 就簡潔多了。“看看這些彎彎曲曲的代碼和分號,用 Objective-C 的話,長度將是 Swift 的四倍,”就職于技術課程服務公司 Treehouse 的開發者 Myers Carpenter 說道。 

6 個月前,Lyft 安排工程師拿 Swift 進行試驗后,決定用 Swift 把 Lyft 應用重新編寫一遍,預計在 7 月份完成這項工作。用 Swift 編寫后的代碼長度只是之前的1/5,且能將代碼重復和更新花費的時間“從漫長的幾個月縮減到短短幾天,”Morelli 說:“這是 Swift 的最大優勢。” 

LinkedIn 旗下的文件共享服務 SlideShare 也是早期 Swift 應用者之一。該公司開發者反映說向 Swift 的過渡非常成功,但他們也付出了成長的代價。舉個例子,13 英寸的 MacBook Pro 的處理能力根本不夠應付將 Swift 轉換為電腦可讀格式的程序。SlideShare 的軟件工程師 Kyle Sherman 在 LinkedIn 的工程博客上寫道:“同事用 15 英寸 i7s 四核處理器的電腦,情況才好很多。不管怎樣,粉絲們對于 Swift 依舊熱情高漲。” 

這類問題待到 Swift 成熟之時就會迎刃而解了。Swift 更新太快,還不穩定,給推廣帶來了阻礙,所以諸多開發者更愿意再等一段時間。Scott Logic 軟件開發公司的技術總監 Colin Eberhardt 說,Swift 頻繁更新使他不得不頻繁調整自己的代碼。他說:“做產品代碼的,肯定不愿意用 Swift。”目前蘋果還不愿回應這個問題。 

目前為止 Objective-C 仍然比 Swift 更廣為應用,但如果 Swift 繼續發展下去,代替前者也不是不可能。一旦 Swift 穩定了,成熟了,蘋果也許會選擇只留其一,將 Swift 定為 iOS 應用唯一編程語言。也許未來幾年內還不至于到這一步,但 Wenderlich 認為:“開發者們很可能紛紛轉而使用 Swift,那時 Objective-C 將退出人們的視線。” 

來自: www.iteye.com

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!