成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我在開發(fā)第一個Swift App過程中學(xué)到的四件事

移動開發(fā)
這個夏天我的app開發(fā)項目是Instant Poetry 2,它原本是Ray還是獨立iOS開發(fā)者時編寫的一個應(yīng)用,現(xiàn)在我需要用Swift和iOS 8 API將它整個重寫一遍。對我來說這是一次豐富的學(xué)習(xí)體驗 – 不但深入學(xué)習(xí)Swift和iOS 8的復(fù)雜細節(jié),還思考了在未來如何更好的將這些經(jīng)驗傳授給別人。

這個夏天我的app開發(fā)項目是Instant Poetry 2,它原本是Ray還是獨立iOS開發(fā)者時編寫的一個應(yīng)用,現(xiàn)在我需要用Swift和iOS 8 API將它整個重寫一遍。

對我來說這是一次豐富的學(xué)習(xí)體驗 – 不但深入學(xué)習(xí)Swift和iOS 8的復(fù)雜細節(jié),還思考了在未來如何更好的將這些經(jīng)驗傳授給別人。

這里我就將在開發(fā)***個Swift app過程中學(xué)到的四件事,分享給大家。

4) Swift仍然在演變當(dāng)中

在整個夏天,Swift語言本身有了不少變化。我開始編寫app時使用的Swift版本是beta 3,而每一次Xcode版本升級都帶來語法變化和Cocoa方法簽名的微調(diào)。

如果你計劃使用Swift開發(fā)應(yīng)用,你需要花精力關(guān)注這些變化并跟上Swift演進的步伐。

不過我認(rèn)為這種精力花費的值得。使用***和***的工具是很重要的,另外關(guān)注語言的演變本身也將成為很好的學(xué)習(xí)經(jīng)驗。蘋果一直關(guān)注和傾聽來自開發(fā)者對于Swift的反饋和問題報告,所以你甚至有機會參與到這個語言成型的進程當(dāng)中。

3) Swift暴露出Cocoa不太好的一面

你是否期望獲取一個包含多個SKProduct對象的Swift數(shù)組?抱歉,Cocoa將返回給你包含AnyObject的隱式解析可選類型的數(shù)組(implicitly unwrapped optional array)。

你是否想傳遞一個[NSObject: AnyObject]類型的Swift數(shù)組給對應(yīng)的方法?抱歉,Cocoa真正想要的是一個NSDictionary,或者一個會導(dǎo)致靜默失效(silently fail)的東西。

你能夠感覺到Swift和Cocoa之間的緊張氣氛:Swift想要做某件事,但它不得不為了適應(yīng)Cocoa而做折衷。我們必須面對這樣一個事實,從Swift透鏡來看Cocoa并不總是漂亮的!

 

[[121547]]

這里有一個壞消息和一個好消息。

壞消息是我們正處在一個過渡當(dāng)中,蘋果在每次Swift/Xcode升級中所做的一部分事情,就是清理Swift-Cocoa的接口,來讓它們更好的兼容。

好消息是蘋果很善于過渡,你可以回想一下從PowerPC到Intel處理器的過渡、經(jīng)典Mac OS到OS X的過渡等等。未來的某一天,Cocoa也將會原生的***支持Swift語言。

2) Swift和Objective-C是幸福的一對

真的,這是我之前觀點的一個必然推論 – 你可能覺察到Swift某些地方挺怪異,是因為它需要在Objective-C runtime和Objective-C API下工作,所以只能做出妥協(xié)。

[[121548]]

從實際開發(fā)來看,在我的Swift app里使用Objective-C第三方類庫和擴展非常簡單,我只需要將它們的頭文件導(dǎo)入到我的bridging header,它們就能正常工作了。

如果你有一個喜歡的庫是用Objective-C編寫的,或者已有的app,你想要在它們當(dāng)中添加一兩個Swift類,這不是個什么大問題。

1) Swift非常好玩

我很享受和Swift一起玩耍工作的日子。

它極富表現(xiàn)力。像自判斷鏈接(optional chaining)和nil coalescing特性能讓你寫出更短的代碼。讓我最驚訝的是枚舉類型給我?guī)淼南硎?– 它的確是一個雙贏,讓你代碼更具可讀性,還包括附加的好處比如類型檢查和實例窮舉檢查。

[[121549]]

作為Objective-C和Ruby的粉絲,我覺得Swift就像集合了這兩種語言優(yōu)點的混血兒。如果你學(xué)過Objective-C和Cocoa,閱讀起Swift代碼將沒有任何困難,如果你還沒有開始學(xué)習(xí),那么就從現(xiàn)在開始用Swift開發(fā)一個簡單的應(yīng)用吧!

附加感受:Extension將改變世界!

至少對于蘋果的世界是這樣。在iOS 8里,蘋果引入了app extension,允許開發(fā)者通過app擴展實現(xiàn)自定義分享選項、通知、鍵盤以及照片。

在Instant Poetry 2里,我使用了一個Photo Extension,讓用戶能夠直接在Photo應(yīng)用里添加詞句到圖片上。在這iOS 8以前是不可能做到的。

應(yīng)用們從此不再被局限在自己的sandbox里了,貌似新的開放的蘋果將讓app能夠從更多的地方做更多的事情,這是多么美好的事啊。

即便是即將到來的Apple Watch,它也是iPhone屏幕的一個擴展,我等不及想知道我們到底能用Watch Kit來做些什么。

也許我下個Swift app將是和Apple Watch有關(guān)呢!~

那么未來將是什么樣的?

我的預(yù)測是,Swift的一些粗糙的地方將在短時間內(nèi)被反復(fù)打磨。很快,Swift開發(fā)的應(yīng)用將會無處不在,并且在Github上,Swift項目將遠遠超過Objective-C。

不過如果你現(xiàn)在開始開發(fā)Swift應(yīng)用的話,你將會面臨一些挑戰(zhàn)。由于Swift的快速演變,我認(rèn)為Swift 1.0項目遷移到Swift 2.0需要做不少工作,雖然比起從Objective-C遷移到Swift肯定要輕松一些。

不過這也正是我們熱愛科技的原因,不是嗎?學(xué)習(xí)新知識、跟上潮流、使用******的語言和API,這些能讓我保持興奮。

***,如果你想看看Instant Poetry 2能做什么,你可以從App Store免費下載。

你是否已經(jīng)開始你的Swift開發(fā)旅程呢?如果是的話,我想聽聽你的體驗看法。

英文原文:http://www.raywenderlich.com/86278/four-things-learned-making-first-swift-app

責(zé)任編輯:chenqingxiang 來源: cocoachina
相關(guān)推薦

2015-08-07 10:51:00

Android App第一個

2014-03-10 10:03:32

SaaS網(wǎng)站網(wǎng)站經(jīng)營

2021-03-09 15:03:03

iOS 15Android蘋果

2015-08-05 09:31:42

開發(fā)六件事

2020-11-05 10:33:01

開發(fā)代碼技術(shù)

2016-04-07 10:49:28

游戲開發(fā)者

2014-07-30 14:08:38

產(chǎn)品經(jīng)理

2019-12-12 15:40:08

物聯(lián)網(wǎng)數(shù)字健康自動化

2014-09-05 13:37:29

程序員

2012-07-12 00:22:03

創(chuàng)業(yè)產(chǎn)品

2022-05-09 15:30:55

人工智能麻省理工

2014-08-15 15:01:29

時間軸

2020-05-08 15:30:42

PostgreSQL數(shù)據(jù)庫數(shù)據(jù)

2015-04-09 09:53:08

CA TechnoloDevOps

2018-08-22 17:32:45

2019-04-16 12:53:57

2018-10-30 10:15:34

無服務(wù)器架構(gòu)Serverlessc

2014-03-26 10:06:59

程序員軟件銷售

2021-07-28 07:01:09

薅羊毛架構(gòu)Vue+SSR

2022-10-17 10:28:05

Web 組件代碼
點贊
收藏

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

主站蜘蛛池模板: 免费a级毛片在线播放 | 久久这里只有精品首页 | 日本在线观看视频 | 国产精品久久亚洲7777 | 蜜桃免费一区二区三区 | 综合国产| 可以在线观看av的网站 | 久久亚洲综合 | 亚洲精品3 | 欧美日韩国产一区二区三区 | 麻豆av在线 | 久久91av| 国产日产精品一区二区三区四区 | 久久国产免费看 | 日韩欧美国产一区二区三区 | 精品av天堂毛片久久久借种 | 久草热播 | 久久91精品 | 黄色网毛片 | 久久久资源 | 精品视频一区二区三区在线观看 | 国产精品揄拍一区二区 | 成人一区二区三区在线 | 成人精品一区二区三区中文字幕 | 国产精品一区二区三区在线播放 | 欧美日韩一区二区视频在线观看 | 91精品国产综合久久婷婷香蕉 | 国产精品成人一区二区 | 欧美精品福利 | 午夜一级大片 | av影音资源 | 免费在线一区二区 | 亚洲欧美日韩一区 | 日本天堂视频在线观看 | 精品久久香蕉国产线看观看亚洲 | 热久久999| 三级黄色网址 | 国产午夜精品视频 | 成人综合一区二区 | 天天看天天爽 | 五月婷婷激情网 |