偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

替代Objective-C?Swift尚不成熟

移動開發(fā) iOS
對Swift的評論好壞參半,Swift的優(yōu)勢很明顯,短板也很明顯。新語言的成熟不可能一蹴而就,我們還需要有更多的耐心來等待Swift的成熟。

在今年蘋果的開發(fā)者大會上,最引人注目的當(dāng)屬新的編程語言Swift的發(fā)布。Swift是一門蘋果自主開發(fā)的編程語言,它由LLVM的創(chuàng)始人 Chris Lattner在2010年開始著手設(shè)計,目標(biāo)是在保證應(yīng)用質(zhì)量和性能的前提下,讓應(yīng)用開發(fā)變得更加簡單、快速。蘋果宣稱Swift的特點是:快速、現(xiàn) 代、安全、互動,且全面優(yōu)于Objective-C語言。為了給Swift打好基礎(chǔ),蘋果公司改進了編譯器、調(diào)試器和框架結(jié)構(gòu),不難看出蘋果在Swift 的設(shè)計上也煞費苦心。社交媒體上一時間鋪滿了對Swift的討論:

JavaEye的創(chuàng)始人Robbin在微博中寫 到:“Swift目前只是提供了一種腳本編程語法,編寫代碼的效率提高不了多少,對程序員來說,熟悉Swift語法也不過一天時間足夠了。關(guān)鍵是要提供高 級數(shù)據(jù)類型,簡化Cocoa類庫,否則用不用Swift都沒區(qū)別。當(dāng)代的程序員,主要學(xué)習(xí)成本不在編程語言的語法上,而在語言提供的特殊數(shù)據(jù)類型和龐大的 類庫上。”

CNET的Tim Stevens認為Swift是一門具有巨大潛力的編程語言,它在結(jié)合了腳本語言與傳統(tǒng)編譯語言的優(yōu)勢的同時,又兼有更快的執(zhí)行速度(從幾項關(guān)鍵指標(biāo)來 看)。Swift的腳本特性以及實時預(yù)覽功能可以幫助開發(fā)者方便快捷地編寫并測試應(yīng)用程序。但Swift也沒有想象中的那么美好,Objective-C 在開發(fā)應(yīng)用方面相對比較成熟,并且有了完整的生態(tài)圈,Swift想推倒一切重新開發(fā),恐怕還需要一段時間。

資深iOS開發(fā)者郭亮認為Swift對于準(zhǔn)備學(xué)習(xí) iOS開發(fā)的新手來說是個好消息,畢竟它的入門門檻比較低,但對于已經(jīng)習(xí)慣了Objective-C的上百萬開發(fā)者來說,又是一件痛苦的事情!因為他們已 經(jīng)愛上了Objective-C。Swift雖然門檻很低,但要真正熟練,道路依然荊棘,Protocol、Extension、繼承、多態(tài)還有閉包,真 的沒那么簡單。語言剛剛發(fā)布,還會有許多的不完善,其性能、效率還有待驗證,并且相關(guān)資料非常少,應(yīng)該只有蘋果官方的文檔,也沒有開源社區(qū)的支持。所以 Swift短期內(nèi)取代Objective-C的可能性非常小,目前想用Swift單獨作為項目的開發(fā)語言,那將是災(zāi)難性的。

iOS開發(fā)者黃兢成也在知乎上發(fā)表了自己的看法,他認為Swift 吸收了很多其它語言的語法,寫起來比Objective-C簡潔得多,不過它的核心概念和Objective-C差不多,比如引用記數(shù)、ARC、 屬性、協(xié)議、接口、初始化、擴展類、匿名函數(shù)。至于大會上提到的可視化編程,他目前尚不清楚如何能較好的應(yīng)用到實際項目中。Xcode 6 beta版本對Swift的語法提示支持也不好。Swift在實際項目中的使用還需要一段時間,但他相信蘋果發(fā)布Swift,絕不是玩玩而已。

CocoaChina上的xu54認 為Swift本質(zhì)其實就是Objective-C的文本變種,對于這門全新的語言,蘋果做的工作其實遠沒有我們想像的艱巨。LLVM編譯器做工作只是先把 Swift翻譯成Objective-C代碼,然后再把Objective-C代碼翻譯成C語言代碼,然后再把C語言代碼翻譯成匯編,最終翻譯成機器碼。 至于為什么編譯器廠商這么繞,不直接把自己的語言翻譯成匯編和機器碼,那是由于現(xiàn)有的語言編譯器(Objective-C、C )已經(jīng)非常成熟,而高級語言間的文本轉(zhuǎn)換開發(fā)成本和維護成本都極其小。Swift之所以要翻譯成Objective-C,是由于Swift仍然需要 Objective-C中的ARC、GCD 等環(huán)境。既然Swift其實就是Objective-C, 對入門者而言遠比Objective-C好學(xué),對資深開發(fā)者來說又能節(jié)約很多無謂的低級重復(fù)的機械代碼(這些代碼在LLVM翻譯成Objective-C 時,編譯器自動幫你寫上),并且開發(fā)者關(guān)注的應(yīng)該是業(yè)務(wù)邏輯,而不把精力分散在語法等低級問題上,語法消耗的時間越少,這門語言也就越成功,所以他覺得 Swift必定會替代Objective-C。

對Swift的評論好壞參半,Swift的優(yōu)勢很明顯,短板也很明顯。新語言的成熟不可能一蹴而就,我們還需要有更多的耐心來等待Swift的成熟,不過我相信這個過程不會太久。蘋果愿意舍棄成熟的Objective-C,轉(zhuǎn)而開發(fā)新的編程語言,這足以讓我們看到一家世界級公司的魄力與創(chuàng)新力。

責(zé)任編輯:閆佳明 來源: infoq
相關(guān)推薦

2015-01-15 09:41:10

DockerDocker安全Gartner

2013-05-14 09:09:33

移動互聯(lián)網(wǎng)移動開發(fā)

2014-07-01 09:22:01

SwiftObjective-CiOS

2012-12-12 09:33:54

云計算

2012-12-12 10:44:34

云計算數(shù)據(jù)中心

2015-06-08 10:02:40

swiftOC兼容

2011-04-10 19:14:36

2010-12-12 09:28:00

移動界面

2014-09-26 09:49:48

SwiftObjective-C

2014-09-24 11:15:05

Objective-CSwift

2014-10-13 09:54:08

Objective-CSwift

2011-08-10 18:07:29

Objective-C反射

2013-06-20 10:40:32

Objective-C實現(xiàn)截圖

2013-03-27 12:54:00

iOS開發(fā)Objective-C

2011-05-11 15:58:34

Objective-C

2011-05-11 11:20:26

Objective-C

2015-07-08 10:47:57

Using Swift CocoaObjective-C

2015-02-05 00:18:44

SwiftObjective-C

2017-04-07 16:00:59

SwiftObjective-CFramework

2011-05-11 13:54:08

Objective-C
點贊
收藏

51CTO技術(shù)棧公眾號