丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

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

0

擁抱Swift吧,Objective-C已經(jīng)是過去時

本文作者: 圖靈訪談 2015-09-23 18:09
導(dǎo)語:只需要五年,Swift就會取代Objective-C了,你信嗎?

Swift是蘋果在WWDC2014發(fā)布的一門編程語言,用來撰寫OS X和iOS應(yīng)用程序。2010年7月,LLVM編譯器的原作者暨蘋果開發(fā)者工具部門總監(jiān)克里斯·拉特納(Chris Lattner)開始著手Swift編程語言的工作。除此之外,還有一個dogfooding 團隊也大力參與其中。歷時四年,Swift才得以與用戶見面。

蘋果宣稱,Swift編程語言具有“快速、現(xiàn)代、安全、互動”的特點,它基于C和Objective-C,而卻沒有C的一些兼容約束。Swift采用了安全的編程模式和添加現(xiàn)代的功能來使得編程更加簡單、靈活和有趣,而它的界面則基于Cocoa和Cocoa Touch框架,展示了軟件開發(fā)的新方向。

Xcode Playgrounds功能是Swift為蘋果開發(fā)工具帶來的最大創(chuàng)新,該功能提供強大的互動效果,能讓Swift源代碼在撰寫過程中能實時顯示出其運行結(jié)果。

擁抱Swift吧,Objective-C已經(jīng)是過去時

作為資深蘋果開發(fā)專家的Boisy G. Pitre曾任Siri語音識別技術(shù)提供方Nuance公司Mac產(chǎn)品小組的資深軟件工程師,參與開發(fā)了語音識別軟件Dragon Dictate。如今,他在情緒識別公司Affectiva任職移動遠景規(guī)劃師。

Boisy Pitre十分青睞Swift語言,他還撰寫了一本針對初學(xué)者的《Swift基礎(chǔ)教程》,從變量、類型、函數(shù)、閉包等基本概念入手,結(jié)合Swift示例,一步步指導(dǎo)讀者使用Swift開發(fā)App,他在書的最后還給出了一個App開發(fā)全流程。

Swift語言對iOS和Android開發(fā)的影響

當(dāng)蘋果引入Swift時,我就知道這門語言會在幾年之內(nèi)成為計算機語言版圖中的重要一塊。

我很難預(yù)測作為開源語言的Swift會如何影響Android開發(fā)。Google在語言初創(chuàng)方面有Go語言,Go對于Android來說就像是Swift之于iOS。不過我很期待會有人用Swift寫Android應(yīng)用,這就像是有人用Go寫iOS應(yīng)用一樣。

一種語言會比另一種語言更成功嗎?各自平臺的語言一定會依附在它們本來的平臺上嗎?只有時間能告訴我們。但是蘋果開源Swift語言的決定肯定會讓各種變化朝更好的方向發(fā)展。

Objective-C很不錯,但它已經(jīng)過時了

所有計算機語言都會從其他語言身上借鑒一些東西。對于Swift來說也是如此。從語法和存儲模型的角度上說,Swift上就有很多Rust的影子。此外,Swift對于安全的強調(diào)使其與C和C++保持了一定距離,所以它們之間的共同點比較少。我相信蘋果很努力想讓Swift成為自己的語言。

目前iOS中的很多應(yīng)用框架都還是Objective-C的,調(diào)用的方式是使用橋接頭文件,但未來會出現(xiàn)更多基于Swift的框架,今后的調(diào)用也會變?yōu)楦雍啙嵉姆绞?,蘋果正在努力實現(xiàn)這個艱巨的任務(wù),因為需要轉(zhuǎn)換的框架有很多。不過很快,我們就會看到專屬于Swift的新框架,這樣的框架在Objective-C中甚至都找不到同類。這種情況的發(fā)生也會對Objective-C的后續(xù)使用造成很大的影響。

擁抱Swift吧,Objective-C已經(jīng)是過去時

我認為Swift在未來有可能會取代Objective-C,沒有人知道這會花多長時間,但是應(yīng)該是在5年之內(nèi)。不過,計算機語言的生命很長,C語言到現(xiàn)在已經(jīng)有40歲了,所以O(shè)bjective-C也不會徹底消失,它只是將在語言世界中所占的份額變得非常小。

Objective-C是一門很不錯的語言,但是它帶有C語言的遺留問題和包袱。對于編寫應(yīng)用來說,Objective-C在未來會變得越來越脫節(jié)。拿我自己舉例來說,我現(xiàn)在就已經(jīng)不再用Objective-C來開啟任何一個新的iOS或OS X項目了,對于新項目來說,我只使用Swift來開發(fā)。

如何選擇學(xué)習(xí)哪種編程語言?

初學(xué)者完全可以先學(xué)習(xí)Swift。Swift最讓我青睞的特性是其語法的清晰度。用關(guān)鍵字“l(fā)et”建立一個常量變量,和用關(guān)鍵字“var”建立一個可變變量相比,很大程度上簡化了C/C++風(fēng)格的語法。用執(zhí)行命名參數(shù)可以清晰地寫函數(shù)(如Objective-C),而創(chuàng)建和使用閉包也變得更簡單。

而對于已經(jīng)掌握一兩門編程語言的程序員來說,他的選擇則要取決于“已有的一兩種語言”是什么。如果這兩種語言是Objective-C和Swift,或者C和C++,或者其中任何組合,為了挑戰(zhàn)思維,他可以去學(xué)習(xí)一種完全不同的語言,比如一種函數(shù)式語言(舉例:Scheme)。

C、C++、Objective-C以及Swift這樣的命令式語言都遵循著相同的模型,學(xué)習(xí)同類語言很簡單,因此就需要讓自己多接觸不同的語言泛型。雖然他可能并不會用這種語言來寫應(yīng)用,但這會有利于全面開啟他對于計算機語言的理解。

擁抱Swift吧,Objective-C已經(jīng)是過去時

有必要掌握所有API嗎?

關(guān)于何時接觸大量的庫和API,以及是否需要學(xué)習(xí)所有API的問題,我經(jīng)常會用木匠的工具腰帶做類比。

大家可以想象一下,一個木匠的工具腰帶中會裝有所有你能想象得到的工具嗎?結(jié)論當(dāng)然是否,他只會裝上那些經(jīng)常使用的工具。當(dāng)他需要特殊工具的時候,他會來到卡車前或者庫房里,打開里面的大工具箱,把需要的特殊工具找出來使用,然后再把它放回去。而這種使用頻率往往在很長一段時間里也只有一次到兩次。

對于編程語言和API來說也是如此。雖然知道的API越多,你就越能更好地解決問題,但是有多少人能完整地了解所有的API呢?我的建議是,先比較完整地學(xué)習(xí)一門語言,然后再繼續(xù)研究這種語言的細微之處,也就是開始接觸這門語言中可以用來創(chuàng)建有用應(yīng)用的框架和API。然后可以按照一定頻率(比如每周一次,每次3-5小時)去選擇一個新的API來學(xué)習(xí)它的功能。你可能并不會經(jīng)常使用這個API,但是你了解它,當(dāng)需要用到時,你就會知道“從哪里把它取出來使用”。

iOS開發(fā)專家的知識框架是什么樣的?

一個全面的iOS專家必須掌握這四樣?xùn)|西:

  1. 用來寫應(yīng)用的語言(Swift / Objective-C);

  2. 對創(chuàng)建軟件的工具的控制(Xcode);

  3. 關(guān)于iOS應(yīng)用基礎(chǔ)框架和API的強大知識儲備;

  4. 鑒別好的UI設(shè)計的能力。

他可能要經(jīng)歷很多應(yīng)用和上百小時的編程才能達到這個水平,每個應(yīng)用都有自身的要求和需要的API。只要你寫的應(yīng)用越多,就能越廣地接觸到各式蘋果框架,UI設(shè)計技巧也會越來越好。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

擁抱Swift吧,Objective-C已經(jīng)是過去時

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

知情人士

對話國外知名技術(shù)作者,講述國內(nèi)碼農(nóng)精彩人生。你聽得見他們,他們也聽得見你。
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說