日本在线看黄a美女久草|日本动漫亚洲在线一区|日韩人妻无码免费视频|A√有码中文字幕|日韩一级片视频热久久久|一区二区三区四区精品无码在线|亚洲AV成人无码一二三app|亚洲综合图片绯色|91极品人妻在线网站|国产成人精品一区二三区四区五区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
專(zhuān)欄 正文
發(fā)私信給伍星
發(fā)送

10

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

本文作者: 伍星 2015-12-07 15:20
導(dǎo)語(yǔ):Swift 終于開(kāi)源了,那么 Swift 開(kāi)源對(duì)我們意味著什么?Swift 未來(lái)將會(huì)如何發(fā)展?

【編者按】在2015 WWDC 大會(huì)上,軟件工程資深副總裁 Craig Federighi 說(shuō)Swift 將會(huì)變成開(kāi)源。直到今天,蘋(píng)果已經(jīng)兌現(xiàn)承諾實(shí)現(xiàn)開(kāi)源。本文來(lái)自Swift社區(qū)的伍星,是國(guó)內(nèi)最早實(shí)戰(zhàn)推廣Swift的開(kāi)發(fā)者之一,文章是6月份作者為雷鋒網(wǎng)獨(dú)家分析Swift語(yǔ)言的文章,原標(biāo)題為《擁抱Swift 吧,騷年》——

蘋(píng)果將Swift 開(kāi)源,這意味著什么,Objective-C已經(jīng)是過(guò)去時(shí)?

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

在閱讀本文之前,先看看此前蘋(píng)果官網(wǎng)對(duì)于Swift開(kāi)源的說(shuō)明:

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

(截圖來(lái)自:Swift 2.0 - Swift Blog

編者提取下要點(diǎn):

  • 具體的開(kāi)源許可證沒(méi)有確定(現(xiàn)已正式宣布開(kāi)源,確定為  Apache License);

  • 蘋(píng)果官方支持的系統(tǒng),除了蘋(píng)果自家OS X,iOS以外,還有Linux;開(kāi)源的是編譯器和標(biāo)準(zhǔn)庫(kù)。

這里擴(kuò)展一下,其實(shí)根據(jù)Chris Lattner( LLVM 和 Swift 的作者 ,下文有介紹) 的說(shuō)法,早在2015 WWDC 大會(huì)之前,Swift 背后的 LLVM就一直是開(kāi)源的,Chris Lattner 本人曾寫(xiě)過(guò)一篇 LLVM 介紹: 《The Architecture of Open Source Applications: LLVM》,有興趣的童鞋可以去看看。當(dāng)然,這些并不意味著可以在 Windows上開(kāi)發(fā) iOS 應(yīng)用的,但是,Swift 語(yǔ)言的開(kāi)源的真正意義并在此。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

【以下是正文】

推出 Swift 語(yǔ)言,蘋(píng)果的商業(yè)目的是什么?

為了提高開(kāi)發(fā)者們的編程效率,將更多的開(kāi)發(fā)者吸引入蘋(píng)果的開(kāi)發(fā)者陣營(yíng),在去年2014年的WWDC上,蘋(píng)果推出了一套新的語(yǔ)言 Swift。在這一年中,Swift 經(jīng)歷了不下十次版本更新,開(kāi)始成為一門(mén)相對(duì)成熟穩(wěn)定的編程語(yǔ)言。也以其語(yǔ)法簡(jiǎn)潔、安全為廣大開(kāi)發(fā)者使用,在這一年中,國(guó)外的Swift iOS書(shū)籍、教程和培訓(xùn),無(wú)一例外已全部采用 Swift 來(lái)編寫(xiě)。在國(guó)內(nèi),Swift 書(shū)籍、培訓(xùn)也正在興起,公司也在接納這門(mén)新的編程語(yǔ)言,比如優(yōu)才學(xué)院還推出了iOS全棧工程師培訓(xùn)課程 。

如今一年過(guò)去,蘋(píng)果又做出驚人之舉。在今天的2015 WWDC 發(fā)布會(huì)上,除了發(fā)布 Swift 2,Swift 2.0增加的主要特性包括泛型、更快的調(diào)試模式、更快的編譯、錯(cuò)誤處理機(jī)制、C函數(shù)指針API、注釋里Markdown格式等等。更重要的是,軟件工程資深副總裁 Craig Federighi 正式宣布 Swift 將會(huì)變成開(kāi)源。「我們認(rèn)為 Swift 應(yīng)該成為所有人都能使用的語(yǔ)言?!顾谂_(tái)上這么說(shuō)道。 這讓整個(gè)開(kāi)發(fā)者社區(qū)為之點(diǎn)贊和歡呼。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

其實(shí)Swift 語(yǔ)言開(kāi)源,既在意料之外,又在情理之中。以蘋(píng)果之強(qiáng)勢(shì),對(duì)核心產(chǎn)品開(kāi)源看似不可以理解,這是意料之外。情理之中則在于:

1、Swift 出自開(kāi)源大神 Chris Lattner之手。

Chris Lattner在編譯器方面,為開(kāi)源所做的貢獻(xiàn),可謂居功至偉。他是 LLVM  項(xiàng)目的主要發(fā)起人與作者之一,Clang 編譯器的作者。簡(jiǎn)單做一個(gè)介紹,LLVM 編譯器是一個(gè)雄心勃勃的項(xiàng)目,其目的是要建一個(gè)可重用的編譯器組件系統(tǒng),可用于構(gòu)建各種工具,包括編譯器、調(diào)試器、JIT系統(tǒng)、優(yōu)化器、靜態(tài)分析系統(tǒng)等 等。LLVM 常用作 C 和 C++ 的優(yōu)化器,能生成用于多種不同架構(gòu)的機(jī)器碼。Clang 項(xiàng)目目前是業(yè)內(nèi)領(lǐng)先的 C、Objective-C 和 C++ 編譯器,廣泛用于學(xué)術(shù)界和業(yè)界。在語(yǔ)言支持和其他特性方面,LLDB 調(diào)試器(LLDB Debugger)開(kāi)創(chuàng)了先河。LLVM 正在多方面擴(kuò)展和改進(jìn),以支持新優(yōu)化、新目標(biāo)、新領(lǐng)域和新特性。所以Swift不開(kāi)源,Swift他爸爸不答應(yīng)啊,是不是?

2、看看蘋(píng)果推出 Swift 語(yǔ)言的背后商業(yè)目的。

以蘋(píng)果之精明,不會(huì)純粹為了開(kāi)發(fā)社區(qū)貢獻(xiàn)技術(shù)。更重要的是其商業(yè)原因,Objective-C 出現(xiàn)30多年來(lái),其語(yǔ)法、冗長(zhǎng)的寫(xiě)法,并不為大量的開(kāi)發(fā)者所習(xí)慣,尤其是已經(jīng)熟悉過(guò)像Java、PHP類(lèi)似的開(kāi)發(fā)者,想轉(zhuǎn)到Objective-C,倒不說(shuō)學(xué)習(xí)曲線(xiàn),心理上的門(mén)檻就挺高的。而Swift 的出現(xiàn),讓這個(gè)轉(zhuǎn)換的門(mén)檻成為歷史,可以想見(jiàn)的是,Swift 語(yǔ)言的出現(xiàn),再加上開(kāi)源,更多的開(kāi)發(fā)者將熟悉和使用 Swift 語(yǔ)言,意味著在蘋(píng)果的視野之中,增強(qiáng)了大量的,數(shù)以百萬(wàn)計(jì)的開(kāi)發(fā)者的支持。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

那么,Swift 發(fā)展到今天并開(kāi)源,對(duì)于我們開(kāi)發(fā)者的選擇,有什么影響呢?

Swift 開(kāi)源,Objective-C已被替換?

1、Swift 開(kāi)源意味著什么呢?

今天一早,在技術(shù)群里就有人討論這個(gè)問(wèn)題。個(gè)人的感覺(jué)是Swift 開(kāi)源,必然導(dǎo)致眾多開(kāi)發(fā)者對(duì)其本身的深入?yún)⑴c,以Swift 目前的優(yōu)良特性,會(huì)有牛人把它遷移至Linux、Windows甚至 Android等平臺(tái)。屆時(shí),Swift 也許會(huì)成為一門(mén)真正全棧式的編程語(yǔ)言。有了更多開(kāi)發(fā)者的參與,Swift 開(kāi)發(fā)庫(kù)不足的情況,會(huì)快速緩解,據(jù)筆者統(tǒng)計(jì),過(guò)去一年中,在github上,有13357開(kāi)源項(xiàng)目被創(chuàng)建。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

2、那么Swift 會(huì)不會(huì)替換Objective-C呢?

這是一個(gè)特別多朋友都關(guān)注的問(wèn)題。個(gè)人使用Swift 一年以來(lái)的感覺(jué)是:蘋(píng)果官方目前沒(méi)有說(shuō)要用Swift 代替Objective-C,但是做iOS開(kāi)發(fā)的默認(rèn)語(yǔ)言就是Swift了。其次來(lái)講,語(yǔ)言的選擇是一個(gè)開(kāi)發(fā)者用腳投票的過(guò)程,我想下面的這個(gè)趨勢(shì)圖,應(yīng)該說(shuō)明了這點(diǎn)。所以我的建議是,如果想了解Swift ,請(qǐng)盡早,新事物的窗口期就是那么長(zhǎng)時(shí)間。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

編者注:

關(guān)于Objective-C介紹,可以看這篇文章:《擁抱Swift吧,Objective-C已經(jīng)是過(guò)去時(shí)》。為方便理解,摘錄其中的一段話(huà):

目前iOS中的很多應(yīng)用框架都還是Objective-C的,調(diào)用的方式是使用橋接頭文件,但未來(lái)會(huì)出現(xiàn)更多基于Swift的框架,今后的調(diào)用也會(huì)變?yōu)楦雍?jiǎn)潔的方式,蘋(píng)果正在努力實(shí)現(xiàn)這個(gè)艱巨的任務(wù),因?yàn)樾枰D(zhuǎn)換的框架有很多。


不過(guò)很快,我們就會(huì)看到專(zhuān)屬于Swift的新框架,這樣的框架在Objective-C中甚至都找不到同類(lèi)。這種情況的發(fā)生也會(huì)對(duì)Objective-C的后續(xù)使用造成很大的影響。

3、Swift 穩(wěn)定成熟了嗎?

在去年剛發(fā)布時(shí),雖然已經(jīng)可以兼容現(xiàn)有的庫(kù)和支持Objective-C互操作,能真正開(kāi)發(fā)出iOS產(chǎn)品,但是Swift 確實(shí)有很多的不足,比如最坑爹的就是編譯速度很慢,最早時(shí),有更新,所有文件要編譯,這是工程上無(wú)法忍受的,但是到了今天,語(yǔ)法本身完善了,工程上的開(kāi)發(fā)效率問(wèn)題也得到了解決,就差庫(kù)了。而對(duì)庫(kù)的提供,這不正是開(kāi)源社區(qū)所擅長(zhǎng)的么?

所以,擁抱Swift吧,騷年!

【作者介紹】伍星,優(yōu)才無(wú)限、優(yōu)才學(xué)院(原優(yōu)才網(wǎng))創(chuàng)始人,現(xiàn)主導(dǎo)優(yōu)才無(wú)限教學(xué)、研發(fā)工作。是開(kāi)心網(wǎng)早期創(chuàng)始團(tuán)隊(duì)成員,架構(gòu)師。是國(guó)內(nèi)最早實(shí)戰(zhàn)推廣Swift的開(kāi)發(fā)者,國(guó)內(nèi)最暢銷(xiāo)的《Swift語(yǔ)言實(shí)戰(zhàn)入門(mén)》主編,并國(guó)內(nèi)首家推出Swift iOS全棧工程師培訓(xùn),為IBM、北京公交集團(tuán)、動(dòng)批網(wǎng)、OneAPM、創(chuàng)新工場(chǎng)系等提供培訓(xùn)咨詢(xún)服務(wù)。

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

Swift 開(kāi)源了,Objective-C還能走多遠(yuǎn)?

分享:
相關(guān)文章

專(zhuān)欄作者

當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話(huà)
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)