歡迎加入QQ討論群258996829
來自星星的你 頭像
蘋果3袋
3
來自星星的你

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

發(fā)布時間:2015-06-08 22:25  回復(fù):1  查看:4317   最后回復(fù):2015-06-15 18:16  
摘要:在Swift之前,Java是最成功的編程語言,而Objective-C亦是唯一的iOS編程語言。面世一年,Swift在多個編程語言排行榜均取得不俗的成績。盡管目前OC運(yùn)用更為廣泛,但未來,迅猛發(fā)展的Swift是否會讓OC退出人們的視線?


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


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

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

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

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

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


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

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

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

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

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

另一個重要的優(yōu)勢是:開發(fā)者有什么需求,都能用Swift輕松表達(dá)出來交由電腦執(zhí)行。同樣的效果,可能用Objective-C就得多好幾行代碼,但Swift就簡潔多了?!翱纯催@些彎彎曲曲的代碼和分號,用Objective-C的話,長度將是Swift的四倍,”就職于技術(shù)課程服務(wù)公司Treehouse的開發(fā)者M(jìn)yers Carpenter說道。

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

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

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

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



Swift 頭像
蘋果5袋
5
Swift   2015-06-15 18:16
本人認(rèn)為至少還得2年吧,Swift才能完全取代Obj-C。
您還未登錄,請先登錄

熱門帖子

最新帖子

?