自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

《Swift與Cocoa框架開發(fā)》作者:你的編程從Swift開始!

移動(dòng)開發(fā) iOS
Paris Buttfield-Addison是Secret Lab的聯(lián)合創(chuàng)始人、移動(dòng)應(yīng)用工程師,以及游戲設(shè)計(jì)師。Secret Lab是一家游戲開發(fā)公司,他們致力于使技術(shù)變得簡(jiǎn)單又有趣。Paris擁有計(jì)算學(xué)博士學(xué)位,同時(shí)也是一位歷史學(xué)士。他之前作為產(chǎn)品經(jīng)理為硅谷的Meebo公司工作,這家公司在2012年被Google收購(gòu)。

Paris Buttfield-Addison是Secret Lab的聯(lián)合創(chuàng)始人、移動(dòng)應(yīng)用工程師,以及游戲設(shè)計(jì)師。Secret Lab是一家游戲開發(fā)公司,他們致力于使技術(shù)變得簡(jiǎn)單又有趣。Paris擁有計(jì)算學(xué)博士學(xué)位,同時(shí)也是一位歷史學(xué)士。他之前作為產(chǎn)品經(jīng)理為硅谷的Meebo公司工作,這家公司在2012年被Google收購(gòu)。他撰寫了一系列關(guān)于iOS和游戲開發(fā)的技術(shù)書,其中包括《學(xué)習(xí)Objective-C與Cocoa框架》,《iOS游戲開發(fā)攻略》,《Swift與Cocoa框架開發(fā)》,以及《Unity移動(dòng)游戲開發(fā)》。

 

[[152238]]

問:作為一位歷史專業(yè)的學(xué)士,你是怎么變成一位iOS高手以及游戲開發(fā)專家的?

除了學(xué)習(xí)中世紀(jì)歷史外,我還有其他幾個(gè)計(jì)算專業(yè)的學(xué)位(榮譽(yù)學(xué)位以及博士學(xué)位)。我發(fā)現(xiàn)學(xué)習(xí)歷史的背景讓我對(duì)科技的理解和很多人都不一樣,我認(rèn)為歷史很有趣。

問:在Swift 2.0之后,《Swift與Cocoa框架開發(fā)》這本書是否過時(shí)?書中有沒有哪些地方需要修改?

Swift 2.0有一些語(yǔ)法變化,但是這門語(yǔ)言的哲學(xué)卻沒有任何改變。《Swift與Cocoa框架開發(fā)》仍然很有用,如果出現(xiàn)任何過時(shí)的地方——我們會(huì)發(fā)布一個(gè)針對(duì)這本書的變更日志,當(dāng)你用Swift 2.0進(jìn)行編程時(shí),這份日志會(huì)告訴你有哪些地方和印在書中的代碼不同,我們會(huì)在不久之后把這份變更日志發(fā)布在我們的博客上(http://secretlab.com.au/blog/| e9b49d8ef7816e77c1d19efe698550cb6 |)。同時(shí)我們也在籌備另外一本書,叫做《學(xué)習(xí)Swift》,這本書是***的,并且覆蓋了Swift 2.0的內(nèi)容。

問:在你看來(lái),開源會(huì)對(duì)Swift的生態(tài)環(huán)境以及它和Android的關(guān)系造成什么影響?

我認(rèn)為變化不會(huì)太大。上一個(gè)蘋果開發(fā)者語(yǔ)言O(shè)bjective-C在iOS出現(xiàn)之前是非常晦澀的,而Swift吸取了很多經(jīng)驗(yàn)。我認(rèn)為,如果說(shuō)開源Swift會(huì)帶來(lái)任何變化的話,那就是人們可能會(huì)開始用Swift來(lái)寫服務(wù)器軟件,這樣Swift就會(huì)形成一個(gè)更大、更好的社區(qū)。

我不認(rèn)為這件事對(duì)于iOS和Android的關(guān)系會(huì)造成影響;現(xiàn)在來(lái)看,Java是一種很老的語(yǔ)言,甚至可以說(shuō)是一種遺留語(yǔ)言,而Swift是現(xiàn)代的。如果Google把Android環(huán)境更新為現(xiàn)代化的語(yǔ)言(比如Swift)會(huì)是一件很酷的事——事實(shí)上,Google已經(jīng)有了一種現(xiàn)代語(yǔ)言(Go),只是現(xiàn)在還沒把它用在Android上!

問:Swift從其他語(yǔ)言那里吸取了哪些成分?你最喜歡Swift的哪些特性?

Swift從Rust和Python這樣的語(yǔ)言中借鑒了很多東西。我最喜歡的Swift特性是它在內(nèi)在安全性方面做出的努力;要想用Swift犯錯(cuò)并不容易,因?yàn)樗鼜?qiáng)制執(zhí)行了很多“優(yōu)秀風(fēng)格”。

Swift的設(shè)計(jì)初衷就是成為一門安全的語(yǔ)言。C語(yǔ)言中的許多缺陷(比如意外使用null指針)都很難在Swift中遇到。Swift非常重視強(qiáng)類型化,除了一些極為特殊的情況之外,它是不允許對(duì)象為null的。

問:為什么很多公司還沒在生產(chǎn)環(huán)境中應(yīng)用Swift?

因?yàn)镾wift是嶄新的,而且正在經(jīng)歷改變。Swift 2.0已經(jīng)發(fā)布,我懷疑(但無(wú)法確定)蘋果不會(huì)再改動(dòng)很多了,這就意味著Swift會(huì)被更多移動(dòng)開發(fā)者用在他們的產(chǎn)品應(yīng)用中。就像比特代碼一樣,App Store自己會(huì)為下載或購(gòu)買應(yīng)用的用戶編譯和連接應(yīng)用,所以可以說(shuō)Swift對(duì)于未來(lái)應(yīng)用來(lái)說(shuō)是至關(guān)重要的。

問:Swift在未來(lái)會(huì)徹底取代Objective-C嗎?你建議初學(xué)者先學(xué)Objective-C還是先學(xué)Swift?

對(duì)于我們來(lái)說(shuō)Swift已經(jīng)完全取代Objective-C了!對(duì)于真正的開發(fā)者來(lái)說(shuō),這種替代隨時(shí)都可能發(fā)生。這是重要的一步。對(duì)于初學(xué)者來(lái)說(shuō),現(xiàn)在已經(jīng)沒有必要再去學(xué)Objective-C了!

Objective-C曾經(jīng)是一門功能非常強(qiáng)大的語(yǔ)言。它與C++的主要區(qū)別是它是一種動(dòng)態(tài)語(yǔ)言。在任何一門面向?qū)ο蟮恼Z(yǔ)言中,都需要將函數(shù)綁定到它們處理的具體數(shù)據(jù),而這一綁定要么在編譯代碼時(shí)進(jìn)行,要么在運(yùn)行時(shí)進(jìn)行。C++使用靜態(tài)綁定,這會(huì)提高運(yùn)行時(shí)性能,但降低了靈活性。Objective-C采用動(dòng)態(tài)綁定,它要稍慢一些,但大大增強(qiáng)了語(yǔ)言的靈活性。

然而,Objective-C也有自己的問題。因?yàn)樗且訡語(yǔ)言為基礎(chǔ)的,所以它從父語(yǔ)言那里繼承了大量古怪的特性,比如預(yù)處理器和指針運(yùn)算。這些功能盡管非常強(qiáng)大,但會(huì)降低代碼的可讀性和安全性。蘋果公司在保持Objective-C的現(xiàn)代化方面做得非常出色,但即使是這門語(yǔ)言的死忠粉也認(rèn)為這門語(yǔ)言有些過時(shí)了。

于是Swift應(yīng)運(yùn)而生了。Swift是一門新的語(yǔ)言,旨在讓iOS和Mac應(yīng)用程序的開發(fā)變得更輕松、更快速、更安全。它的設(shè)計(jì)目標(biāo)是更容易掌握,且在防范程序員錯(cuò)誤方面比Objective-C做得更好;事實(shí)上,蘋果公司將它描述為“沒有C的Objective-C”。因?yàn)镾wift是用LLVM(Objective-C使用的工具集)生成和編譯的,而且使用了Objective-C運(yùn)行時(shí),所以我們可以編寫一個(gè)同時(shí)使用C、Objective-C和Swift的App。

問:在學(xué)習(xí)Swift之前,是否有必要學(xué)習(xí)C語(yǔ)言?

不需要!你可以把Swift作為開始,這是一種偉大、有趣、簡(jiǎn)單,而且安全的語(yǔ)言。當(dāng)你想要理解程序的內(nèi)在工作方式時(shí),你可以稍后再學(xué)習(xí)C語(yǔ)言。

問:一位iOS開發(fā)高手需要掌握什么樣的知識(shí)框架?

我也會(huì)做很多設(shè)計(jì)——構(gòu)建好的移動(dòng)應(yīng)用(或者現(xiàn)今任何形式的應(yīng)用)需要好的設(shè)計(jì)感!學(xué)習(xí)設(shè)計(jì)吧,因?yàn)樵O(shè)計(jì)能夠更好地影響他人。

責(zé)任編輯:chenqingxiang 來(lái)源: 騰訊科技
相關(guān)推薦

2015-12-07 09:46:26

swift編程開源

2015-07-20 15:33:33

Swift框架簡(jiǎn)單方便功能多樣

2011-07-07 10:50:09

Cocoa 框架

2015-07-08 10:47:57

Using Swift CocoaObjective-C

2014-07-01 09:22:01

SwiftObjective-CiOS

2014-06-06 09:13:28

SwiftSwift編程

2015-12-25 15:52:50

Linux蘋果編程Swift

2015-04-17 16:07:11

swiftOC

2014-06-03 10:44:20

Swift開發(fā)語(yǔ)言

2014-06-04 10:52:56

Swift蘋果iOS

2011-06-15 16:11:51

UIKitCocoa TouchiOS

2015-02-04 10:32:57

Objective-CSwift

2020-09-07 12:53:56

.NET 5Web應(yīng)用框架

2014-07-29 11:20:28

Swift豆瓣電臺(tái)編程實(shí)戰(zhàn)

2015-01-19 10:37:26

Swift編程

2014-10-28 10:37:48

Xcode 6Swift框架

2021-06-03 08:55:58

面向協(xié)議編程

2021-06-04 09:01:27

Cocoa 協(xié)議編程 Swift

2024-01-18 00:16:07

2019-10-18 16:05:32

框架開發(fā)Java
點(diǎn)贊
收藏

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