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

我在開發第一個Swift App過程中學到的四件事

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

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

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

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

4) Swift仍然在演變當中

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

如果你計劃使用Swift開發應用,你需要花精力關注這些變化并跟上Swift演進的步伐。

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

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

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

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

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

 

[[121547]]

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

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

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

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

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

[[121548]]

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

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

1) Swift非常好玩

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

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

[[121549]]

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

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

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

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

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

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

也許我下個Swift app將是和Apple Watch有關呢!~

那么未來將是什么樣的?

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

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

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

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

你是否已經開始你的Swift開發旅程呢?如果是的話,我想聽聽你的體驗看法。

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

責任編輯:chenqingxiang 來源: cocoachina
相關推薦

2015-08-07 10:51:00

Android App第一個

2014-03-10 10:03:32

SaaS網站網站經營

2021-03-09 15:03:03

iOS 15Android蘋果

2015-08-05 09:31:42

開發六件事

2020-11-05 10:33:01

開發代碼技術

2016-04-07 10:49:28

游戲開發者

2014-07-30 14:08:38

產品經理

2019-12-12 15:40:08

物聯網數字健康自動化

2014-09-05 13:37:29

程序員

2012-07-12 00:22:03

創業產品

2014-08-15 15:01:29

時間軸

2022-05-09 15:30:55

人工智能麻省理工

2020-05-08 15:30:42

PostgreSQL數據庫數據

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

無服務器架構Serverlessc

2014-03-26 10:06:59

程序員軟件銷售

2021-07-28 07:01:09

薅羊毛架構Vue+SSR

2022-10-17 10:28:05

Web 組件代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品亚洲一区二区 | 欧美极品一区二区 | 久久精品a | 亚洲精品在线免费 | 国产精品久久久久久久久大全 | 日韩色综合 | 国产精品视频在线免费观看 | 午夜国产一区 | 亚洲欧美中文日韩在线v日本 | 视频二区 | 日韩a v在线免费观看 | 午夜影院在线观看免费 | 日日夜夜操天天干 | 91社区在线观看 | 欧美成人精品一区二区三区 | 一二区成人影院电影网 | av黄色在线 | www免费视频 | 日韩av在线一区 | 亚洲毛片| 久久国产区 | 99国产精品99久久久久久 | 特黄色一级毛片 | 日本成年免费网站 | 亚洲欧美一区二区三区在线 | 免费黄色网址视频 | 日韩a| 国产成人久久精品 | 亚洲成人三级 | 日韩免费高清视频 | 欧美男人亚洲天堂 | 日本人做爰大片免费观看一老师 | 久久伊人精品 | 中文字幕av色 | 亚洲xx在线| 国产精品毛片av一区 | 91在线免费视频 | 久久久久久久久久久久久久久久久久久久 | 国产精品日韩 | 91精品国产综合久久久久久首页 | 久久三级av |