第一本:《Photoshop智能手機(jī)APP界面設(shè)計》

目前創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、蘭坪網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
概要:《Photoshop智能手機(jī)APP界面設(shè)計》講解三大智能手機(jī)(Android、iOS和Windows Phone)APP用戶界面(UI)的設(shè)計思路和制作過程。全書分為3章,第1章介紹了APP用戶界面基礎(chǔ),包括什么是UI設(shè)計、手機(jī)UI與平面UI的區(qū)別和UI設(shè)計工具等基本概念和思路;第2章介紹用Photoshop制作各種智能手機(jī)UI常用元素,包括常用圖形、控件、啟動圖標(biāo)以及圖片特殊處理等;第3章則是3大類型UI設(shè)計的實(shí)戰(zhàn)練習(xí),同時分析了各手機(jī)平臺UI的設(shè)計思路。
第二本:《iOS App界面設(shè)計創(chuàng)意與實(shí)踐》
在移動開發(fā)領(lǐng)域,也許每個App的用途都有所不同,不過它們都一定是源自于同一個開始,那就是一個最初的創(chuàng)意。這個創(chuàng)意可以來自于任何人——設(shè)計師或者開發(fā)者,營銷經(jīng)理或者CEO。《iOS App界面設(shè)計創(chuàng)意與實(shí)踐》的意義就在于向讀者介紹如何把創(chuàng)意變成真實(shí)的App。 《iOS App界面設(shè)計創(chuàng)意與實(shí)踐》包括iOS入門、iOS用戶界面基? ⑸杓苅OS自定義用戶界面對象、向UI添加動畫、通過手勢進(jìn)行人機(jī)交互等5個部分。
第三本:《移動應(yīng)用UI設(shè)計模式(簡易的UI模式參考書)》
移動應(yīng)用UI設(shè)計模式》是一本移動應(yīng)用UI設(shè)計模式參考書,分10大類介紹了70個移動應(yīng)用設(shè)計模式(包括反模式),用400多個屏幕截圖和圖解幫助讀者理解和利用UI設(shè)計模式,以解決常見的設(shè)計難題,同時提供了“即學(xué)即用”式的技巧和經(jīng)驗(yàn)。 《移動應(yīng)用UI設(shè)計模式》適合移動應(yīng)用開發(fā)人員、UI設(shè)計師閱讀。
第四本:《移動Web實(shí)現(xiàn)指南——面向移動設(shè)備的網(wǎng)站優(yōu)化、開發(fā)和設(shè)計》
從移動網(wǎng)站項(xiàng)目最早的創(chuàng)意和發(fā)現(xiàn)階段,到最后的可用性分析,《移動Web實(shí)現(xiàn)指南——面向移動設(shè)備的網(wǎng)站優(yōu)化、開發(fā)和設(shè)計》引導(dǎo)讀者使用一種非常全局的方法來思考網(wǎng)站的移動化設(shè)計。全書介紹了移動化規(guī)劃、移動化設(shè)計和相應(yīng)的編碼技巧,特別適用于那些最初是為桌面電腦展示而設(shè)計的網(wǎng)站。書中的建議和實(shí)例,也是根據(jù)在優(yōu)化這些網(wǎng)站的過程中所遇到的不同挑戰(zhàn)來組織的。更重要地,《移動Web實(shí)現(xiàn)指南——面向移動設(shè)備的網(wǎng)站優(yōu)化、開發(fā)和設(shè)計》還將帶領(lǐng)讀者思考如何偱序漸進(jìn)地對網(wǎng)站進(jìn)行移動化改造。 最后,《移動Web實(shí)現(xiàn)指南——面向移動設(shè)備的網(wǎng)站優(yōu)化、開發(fā)和設(shè)計》還提供一些實(shí)例,使讀者能夠?qū)⒈緯闹R應(yīng)用于一個現(xiàn)有的網(wǎng)站,以提供更多學(xué)習(xí)和動手的機(jī)會。
第五本:《觸動人心——設(shè)計優(yōu)秀的iPhone應(yīng)用》
本書是《Tapworthy: Designing Great iPhone Apps》的中文翻譯版。 可能你設(shè)計網(wǎng)站產(chǎn)品或軟件界面早已得心應(yīng)手,可是遇到了iPhone,卻感覺無從下手。 無論你是產(chǎn)品經(jīng)理、設(shè)計師、創(chuàng)業(yè)者還是程序員,本書都能告訴你如何從iPhone的角度來思考應(yīng)用設(shè)計。本書能幫助你理解如何設(shè)計iPhone應(yīng)用,要創(chuàng)建一款觸動人心的應(yīng)用,需要如何去綜合思考設(shè)計、心理、文化、人體工程和可用性問題。在書中,你會看到大量的真實(shí)應(yīng)用的設(shè)計…
第六本:《認(rèn)知與設(shè)計:理解UI設(shè)計準(zhǔn)則》
[美]Jeff Johnson 著人民郵電出版社《認(rèn)知與設(shè)計:理解UI設(shè)計準(zhǔn)則》語言清晰明了,將設(shè)計準(zhǔn)則與其核心的認(rèn)知學(xué)和感知科學(xué)高度統(tǒng)一起來,使得設(shè)計準(zhǔn)則更容易地在具體環(huán)境中得到應(yīng)用。涵蓋了交互計算機(jī)系統(tǒng)設(shè)計的方方面面,為交互系統(tǒng)設(shè)計提供了支持工程方法。不僅如此,這也是一本人類行為原理的入門書。 《認(rèn)知與設(shè)計:理解UI設(shè)計準(zhǔn)則》不僅適合需要應(yīng)用用戶界面和交互設(shè)計準(zhǔn)則的軟件開發(fā)人員閱讀,也是軟件開發(fā)管理者的最佳選擇。
第七本:《UI進(jìn)化論——移動設(shè)備人機(jī)交互界面設(shè)計》
本書內(nèi)容涵蓋交互設(shè)計與界面設(shè)計的基本概念、設(shè)計規(guī)范和工作流程。由于這是一本以實(shí)際工作案例和工作經(jīng)驗(yàn)為主的書,一開始著力介紹目前最新發(fā)展的交互手段和使用場所,當(dāng)然是以移動手持設(shè)備為主。作為設(shè)計師,一定要關(guān)心如何將這些創(chuàng)意產(chǎn)品化。接下來介紹如何正確地將一個設(shè)計想法變成產(chǎn)品。產(chǎn)品化的過程中,用戶體驗(yàn)設(shè)計是相當(dāng)重要的,由于UCD設(shè)計思想的廣泛使用,本書重點(diǎn)研究并分析用戶體驗(yàn)設(shè)計的可行性和方法。
IOS開發(fā)比較特殊,用的語言是Objective—C,這是一門類似于C++的語言。建議先學(xué)一下Objective-C的語法。然后在iOS下開發(fā),需要用到開發(fā)工具是蘋果專有的XCode,需要學(xué)習(xí)該開發(fā)工具的使用。然后你就可以開發(fā)iOS應(yīng)用了。蘋果開發(fā)者發(fā)布應(yīng)用需要在AppStore,都是比較獨(dú)特的,所以要成為一個IOS開發(fā)者,需要你一點(diǎn)一點(diǎn)的去做。按部就班的。
聽你說是半路接觸,也就是有一定的C或C++基礎(chǔ)了?
不知道已經(jīng)能完成軟件開發(fā)是到什么水平了。
首先推薦你看的是apple的developer(蘋果開發(fā)者聯(lián)盟)網(wǎng)站 ,這里邊有3個文檔是必須看的,作為開發(fā)者,你可以在這了解到很多一手咨詢。
你應(yīng)該知道cocoachina的吧,實(shí)際上ios的開發(fā)問題去那邊比來百度知道得到的答案會專業(yè)些。
如果真的是想買書籍的話,推薦的有:Objective-C 2.0 iPhone開發(fā)基礎(chǔ)教程.xcode內(nèi)置的幫助已經(jīng)是很強(qiáng)大的工具書了。。這種書沒必要多,前幾章基本都是重復(fù)的。市面上很多書內(nèi)容質(zhì)量太差。實(shí)際上這些書都有PDF版的。如果我有想到好的書再來補(bǔ)充。
以上我都沒有貼網(wǎng)址,自己百度一下關(guān)鍵字吧。
我簡單介紹一下我那時學(xué)習(xí)參考的書籍。希望對你有幫助。
1.
Sams Teach Yourself iOS 5 Application Development in 24 Hours
Sams Teach Yourself iOS 6 Application Development in 24 Hours
我學(xué)習(xí)的時候只有ios5版本。這本書是我見過的最好的ios入門書籍,沒有之一。概念介紹清晰(初學(xué)者不該懂的概念絕對不廢話);實(shí)踐性強(qiáng);節(jié)奏適當(dāng)。不夸張地說,這本書看了2/3,我已經(jīng)能做一個app了。(當(dāng)然功能有相對的局限性,而且還有一些細(xì)節(jié)問題需要解決,但主要在設(shè)計美工環(huán)節(jié)。事實(shí)上,我的第一個app就是完全看完這本書后做的。)
這本書的缺點(diǎn)只有一個:對于OC語言的介紹不夠充分。如果之前沒有接觸過程序設(shè)計語言可能有點(diǎn)兒麻煩。但是對于有編程基礎(chǔ)的人來說不是問題。如果遇到語言問題,可以和《Learn Objective-C on the Mac》一起看。(見下介紹)
2.
Learn Objective-C On The Mac 2nd Edition
我忘記了我看的1st Edition還是2nd Edition了。不過OC變化不大,沒有影響。這是介紹OC語法的書。建議邊學(xué)ios開發(fā)邊看。我不建議一下子只扎進(jìn)oc中,而棄ios sdk不顧。
3.
Beginning IOS 5 Development
Beginning iOS 6 Development : Exploring the iOS SDK
我當(dāng)時看的是ios5版本。事實(shí)上,我一上來就看這本書,后來發(fā)現(xiàn)這本根本不適合入門!因?yàn)樵趇os5的時代,這本書介紹的方法依然是ios4的(比如不用storyboard)!我有很多朋友都企圖用這本書入門,但最后都失敗了。但是我依舊建議看完《Sam》后看看這本書。因?yàn)榻榻B了很多更細(xì)節(jié)的東西,而且也很有用(比如用代碼控制界面、控制界面的轉(zhuǎn)移、包括Core Data,Media相關(guān)的一些高級內(nèi)容等)!在入門的基礎(chǔ)上看完這本書,對ios開的理解能上一個層次。
4.Pro iOS Table Views : for iPhone, iPad, and iPod touch
非常非常推薦的一本書。前面說的基礎(chǔ)書籍對tableView的介紹是不夠詳盡的。但是tableView在ios應(yīng)用開發(fā)中是非常重要的一塊(至少我做的app都比較依賴tableView)。吃透這本書,tableView基本完全不成問題了。再次吐血推薦!(看完這本書,大多數(shù)應(yīng)用類app都敢做了。)
5.
Beginning iPad Development for iPhone Developers
雖說是一本介紹ipad的書,但其實(shí)看完sam加上自己的實(shí)踐,制作universal的app不是什么難事。ipad也沒那么特殊。不過這是一本非常好的介紹
ios graphics capabilities的書!這本書會帶你完成一個簡單的繪圖app,之后你基本能夠熟練地使用ios的graphics相關(guān)功能了。(注:和Quatrz;Cocoa;OpenGL ES的Graphics不是一回事兒。)
6.
Programming iOS 5 : Fundamentals of iPhone, iPad, and iPod touch Development
Programming iOS 6
非常厚。比之前介紹的書都厚。而且都是干貨,所以讀起來也慢。我當(dāng)時看ios5版本。這本書比較全面地介紹ios。建議徹底入門了,甚至已經(jīng)做出幾個app了以后翻看。可以學(xué)到很多沒有注意過的細(xì)節(jié);或者沒有用到過的features。雖是個大部頭,但是強(qiáng)烈推薦。
7.
Pro Multithreading and Memory Management for iOS and OS X : with ARC, Grand Central Dispatch, and Blocks這是關(guān)于ios多線程和內(nèi)存管理的入門書籍。這部分內(nèi)容比較深,其實(shí)普通開發(fā)者可以不完全理解這些機(jī)制了。尤其是ios5有了ARC之后。我基本翻完了這本書,但是對于其中的一些東西理解的不透徹(尤其是Multithread部分)。不完全推薦,但感興趣的同學(xué)可以看看。
8.Beginning iOS Game Development
這本書非常基礎(chǔ)。如果你已經(jīng)入了門,讀這本書簡直輕而易舉。我花了一個下午的時間翻完這本書。主要是想學(xué)習(xí)一下ios動畫相關(guān)的內(nèi)容。里面只有很少的幾章涉及了相關(guān)內(nèi)容,但是對于一些基本功能的實(shí)現(xiàn)已經(jīng)夠了。如果想了解更多ios動畫的內(nèi)容,還是需要到網(wǎng)上去找。我沒有找到很好的圖書資料。
這就是我完全看過的書。還有一些書覺得應(yīng)該不錯,但是一直沒有時間看。而且等入了門,實(shí)踐的動力遠(yuǎn)遠(yuǎn)大于看書學(xué)習(xí)的動力,所以查文檔越來越多。希望能夠幫到你,也希望能得到大家指正。
最后,我的apps見個人主頁:,都是很簡單的app,希望和大家交流。
編輯于 2014-03-16 31 條評論 感謝 分享 收藏 ? 沒有幫助 ? 舉報
臧其龍,弱者不扶,誰其懷德,強(qiáng)者逃罰,誰其畏威
丁炯、Fisland、mons 等人贊同
我寫過一篇專門推薦的iOS開發(fā)書單.
1.iOS By Tutorial系列.
Raywenderlich出的一些列圖書,內(nèi)容從低到高都有,而且內(nèi)容秉持了一貫的高質(zhì)量風(fēng)格,從5,6,7,8都推薦大家看.我是買了7和8的正版.真的非常不錯,不錯到我甚至想入手紙質(zhì)版的.當(dāng)然,價格是不太親民的了.(大概五六百左右).
2.Swift By Tutorial
3.Core Data By tutorial
上面的都是raywenderlich出品.有一個special offers.有錢的可以買一套.
我在raywenderlich上購買的
4.《iOS 6 Programming Pushing the Limits》和《iOS 7 Programming Pushing the Limits》系列.
高手向,講的內(nèi)容比較貼近實(shí)際工程,而且涉及很多代碼優(yōu)化和項(xiàng)目經(jīng)驗(yàn)等.非常贊.這個系列有引進(jìn)的中文版,在京東上有賣.
5.Swifter
貓神onecat出的一個Swift的書,主要是面向?qū)wift比較熟悉的人.類似tips的一些swift書寫經(jīng)驗(yàn).
6.iOS開發(fā)進(jìn)階
巧神出的書,多的不說,非常贊.京東有賣.
7.iOS Core Animation和iOS Animation Cook book
兩本介紹CoreAnimation的書,看完基本上一般交互動畫不在話下.
8.CollectionView Complete Guide
看完各種Custom layout布局隨意寫.怎么自定義刪除添加cell動畫
,怎么切換layout的動畫,如何寫3D效果的layout等等等.
9.CFHipsterRef
Mattt大神(AFNetWorking作者)寫的書,介紹Objective-C底層知識的,如果相對OBjective-C一些底層實(shí)現(xiàn)感興趣的話可以入手.
10.Motion Design For iOS
前不久買的一套,講交互動畫的,對動畫感興趣的可以入手.
11.iOS Auto Layout Demystified
詳細(xì)講解自動布局的,話說光寫自動布局能出一本書,我確實(shí)也沒想到.
12.Functional Programming in Swift
如何用swift進(jìn)行函數(shù)式開發(fā).
13.圖解TCP/IP
講解簡單易懂.
14.啊哈!算法
講算法的,感覺沒計算機(jī)基礎(chǔ)的看起來都不費(fèi)力,而且內(nèi)容也很豐富.
15.Effective Objective-C 2.0
這本不多說了吧,神書.進(jìn)階必備.
16.OpenGL ES應(yīng)用開發(fā)實(shí)踐指南
買這本純粹是因?yàn)楦约汗ぷ饔嘘P(guān)系,我是做相機(jī)的嘛.對圖形圖像這塊感興趣的可以入手.講的一般.不過有基礎(chǔ)的翻翻就行了.
最后說一句,有能力的話大家還是買正版吧,按照程序員的收入說實(shí)話買幾本書根本不是問題.而且對自己的幫助也是立竿見影的.(話說有人愿意花幾千買件衣服,不愿意花50買本書.真是無法理解.)
基礎(chǔ)
一定的編程經(jīng)驗(yàn)
這里說的編程經(jīng)驗(yàn)是至少熟練一門編程語言,對 OOP 有一定的了解,最好熟悉一些基本的設(shè)計模式。遇到過的好多 iOS 開發(fā),大多是從別的語言轉(zhuǎn)過來的,所以有一定的編程基礎(chǔ),學(xué)起來會更容易 get the point.
如果是第一次接觸編程,當(dāng)然也是沒問題的,只是要做好心理準(zhǔn)備,可能會比想象的難。
英語
發(fā)現(xiàn)不少開發(fā)對于英語似乎有點(diǎn)接受不能,通常都是中文優(yōu)先,除非迫不得已,才硬著頭皮看看 StackOverflow,英文文章,文檔等。忘了是誰說過「難走的路越走越好走」,通常如此。其實(shí)只要稍微 push 一下自己,那些技術(shù)文章啃下來應(yīng)該不會有太大的問題,有過幾次成功的體驗(yàn)后,這種恐懼感就會減少很多。優(yōu)質(zhì)的文章、視頻、書籍,多是英文的,不邁過這個 坎,將來要么成為瓶頸,要么花更大的成本去填補(bǔ)。
入門
書籍
要學(xué)習(xí) iOS 開發(fā),自然要先學(xué) Objective-C (當(dāng)然現(xiàn)在也可以直接上 Swift,不過如果多人協(xié)作的話,OC目前還是主流),因?yàn)?OC 是 C 語言的超集,所以了解 C 語言對于學(xué)習(xí) OC 肯定會有幫助,不過就算不了解,直接學(xué) OC 也沒太大問題。
這里推薦 BNR (Big Nerd Ranch) 的這本 Objective-C Programming The Big Nerd Ranch Guide,講解地比較細(xì)致,能幫助你更好的理解 OC,更重要的是教你遇到問題時,如何去解決問題,以及這個問題對應(yīng)的一些知識點(diǎn),如何使用文檔等等。
來到一個新的世界,肯定會對這個世界充滿好奇,想訂閱一大堆博客,買一堆書,看各種教程和視頻,然后就變得浮躁,不知該從哪下手,這會導(dǎo)致拖延癥。 我渴了,給我倒一杯水,這個很直接,馬上就可以做,但如果是給我買一瓶飲料,而自己對那些飲料又不怎么熟悉時,就糾結(jié)了,不如刷會微博,看看朋友圈,玩?zhèn)€小游戲先。
所以一本好的入門教材很重要,要契合自己當(dāng)前的水平,且常常會有收獲,這種成就感會激勵著你繼續(xù)學(xué)下去。
在看書的過程中,往往會有這樣的經(jīng)歷:書中提到某個人、觀點(diǎn)、知識點(diǎn)、書、文章,然后就順著它提到的這些東西出去了,可能某個知識點(diǎn)又牽扯到另一些內(nèi)容,然后就這樣越走越遠(yuǎn)。想起了一個故事——
三只獵狗追一只土拔鼠,土拔鼠逃跑時鉆進(jìn)了一個樹洞。這個樹洞只有一個出口,不一會兒,忽然從樹洞里跑出一只兔子。兔子飛快地向前跑,并爬上另一棵大樹。兔子因?yàn)榛艁y在樹上沒站穩(wěn),掉了下來,砸暈了正仰頭看的三只獵狗,最后,兔子終于逃脫。
對于這個故事可以從不同的角度去解讀,我更愿意以初心去解讀。兔子為什么會爬樹?為什么能砸暈三只獵狗?這不是重點(diǎn),重點(diǎn)是,之前追趕的土撥鼠哪去了?看書時難免會有延伸閱讀,這個深度我覺得不宜超過 2 層,不然很容易就回不來了。
還有就是如果有可能,最好每天都看點(diǎn),這其實(shí)是很難的,因?yàn)榭偸菚袃?yōu)先級更高的事,或者之前的某些習(xí)慣在干擾。一旦斷了幾天,就不想再拿起來了。
還有,蘋果官方的 Start Developing iOS Apps Today 也是很不錯的入門材料。
視頻
推薦斯坦福老頭子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,當(dāng)初也是看的這個(那時還是更老的版本),Paul 是資深的 Mac/iOS 開發(fā)(前蘋果員工?),很多知識點(diǎn)講得很到位,學(xué)生們的提問也大都在點(diǎn)上,同時配有Demo,總之聽下來會對 iOS 開發(fā)有比較全面的了解。
同時推薦一本小冊子:objc-zen-book,花不長時間就能看完,里面是一些 Best Practices,對于編寫優(yōu)質(zhì)代碼會很有幫助。
筆記
這是一個持久的過程,任何階段都適用。以前也沒太在意這個,覺得概念性的東西,腦子過一遍,就大概知道了,然后就去啃其他的東西了,現(xiàn)在看來,如果有記筆記的話,會更有助于消化概念、知識點(diǎn),也可以記錄自己的思考過程。達(dá)芬奇就記錄了10000多頁的筆記。
記筆記可以加深對知識點(diǎn)的理解,而成為編程巨星的唯一秘訣就是:對所做的事情理解地越深,就會做得越好。同時如果遵循遺忘曲線去復(fù)習(xí)的話,效果更佳。對知識點(diǎn)了解地足夠透徹后,Debug 時才更有可能知道問題出在哪,解決問題也更容易有思路。
筆記不僅可以記知識點(diǎn),也可以記錄調(diào)試過程,比如這篇筆記,有一種調(diào)試方法:小黃鴨調(diào)試法
許多程序員都有過向別人(甚至可能向完全不會編程的人)提問及解釋編程問題,就在解釋的過程中擊中了問題的解決方案。一邊闡述代碼的意圖一邊觀察它實(shí)際上的意圖并做調(diào)試,這兩者之間的任何不協(xié)調(diào)會變得很明顯,并且更容易發(fā)現(xiàn)自己的錯誤。
生活中我們可能不會真的這么去做,這時抽離出另一個自己,記錄下跟ta的對話,也是個發(fā)現(xiàn)問題的好方法。
練習(xí)
這也是一個持續(xù)的過程,知道了些概念或原理后,總是會想著去驗(yàn)證下是不是這樣,無論結(jié)果是否如自己預(yù)期,實(shí)踐的過程會降低對語言的陌生感,慢慢地培養(yǎng)一種駕馭這門語言的自信,如果出了錯,正好可以重新梳理一下。
目標(biāo)
如果靜下心來看完了 BNR 的這本書,以及斯坦福的 iOS 開發(fā)視頻,那么對 OC 應(yīng)該比較了解了,一些常用的 UIKit 用起來也沒什么問題了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。
這個階段下來,應(yīng)該會有:哦,iOS 開發(fā)也就這樣嘛,多翻翻文檔,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一個簡單的 App 了。
進(jìn)階
入門之后,接下來可以折騰的東西還會有不少。
書籍
Effective Objective-C 2.0,里面提到了 52 種提高 iOS App 質(zhì)量的途徑。涉及了 API 設(shè)計、protocols / category 的使用、寫出更模塊化的代碼等,讀下來應(yīng)該會有不少收獲。
iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的書,這本書的特點(diǎn)是通過 Demo 來引出知識點(diǎn),然后提一些問題,并且會細(xì)說解題思路。看書的過程中,對于元學(xué)習(xí)能力的提升也會有一定幫助。
--- update ---
發(fā)現(xiàn)巧哥的 iOS開發(fā)進(jìn)階 已經(jīng)可以在京東買到了,雖然沒有細(xì)看,但巧哥出品質(zhì)量肯定有保障。
其他資源
進(jìn)入這個階段后,可以去探索更大的世界了,現(xiàn)在的資源已經(jīng)很豐富了,但還是要遵循「少而精」的原則。以下是我覺得挺不錯的資源
iOS Dev Weekly 每周一期,內(nèi)容多為這一星期里值得關(guān)注的Github項(xiàng)目、文章、工具等。
iOS 移動開發(fā)周報 這是唐巧大大整理的每周不錯的 iOS 開發(fā)相關(guān)的內(nèi)容,多為中文。
RayWenderlich 很多詳細(xì)又全面的教程,不容錯過。
iOS Dev Slack 國內(nèi)不少 iOS 開發(fā)(包括大大們)都在這里,不過現(xiàn)在好像不怎么能拿到邀請了。
中文 iOS/Mac 開發(fā)博客列表,打開工具訂閱吧。
還有,如果可能的話,多去分享自己學(xué)到的東西,教是最好的學(xué),我試過幾次,效果真的很不錯。
目標(biāo)
這個階段下來,對于常用的設(shè)計模式、內(nèi)存管理、Blocks 的使用、圖像操作、網(wǎng)絡(luò)請求和管理、多線程應(yīng)該比較熟悉了。對于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 則非常熟悉,對「非常熟悉」的定義是:不打開 Xcode,腦子里就能把相應(yīng)的知識點(diǎn)復(fù)述出來 80% ,比如這個類有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要實(shí)現(xiàn)某個效果,應(yīng)該怎么做(好吧, UICollectionView 除外)。
高級
其實(shí)高級、進(jìn)階、入門并沒有嚴(yán)格的界限,在入門階段也可以探究高級階段的一些東西。我覺得支撐我們不斷探索和前進(jìn)的動力不是興趣,而是永不滿足的好奇心,和對優(yōu)雅代碼的追求。
If your standards are low, you're going to stop pretty early on in the process.
BNR 的這篇 Leveling Up 已經(jīng)講得很好了,也更加細(xì)致。
書籍
iOS 7 Programming Pushing the Limits 這本書對 iOS 7 的一些特性會講解地比較深入,當(dāng)然也不僅僅是 iOS 7。只嘆 iOS 更新實(shí)在太快,書籍往往跟不上,一本好書往往需要很長時間來撰寫,等書可以出版了,iOS 又出新版本了。
源碼
看優(yōu)秀的源碼,可以學(xué)到很多東西,使用過程中遇到問題也更容易解決。這些是我覺得值得細(xì)看的源碼:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)
如果有興趣,也可以翻翻 CoreFoundation / OC runtime 的源碼。
資源
oleb
NSHipster
objc.io || objcio.cn
WWDC 視頻
工具
chisel Facebook 出品的 LLDB 助手,用于調(diào)試很方便
Reveal 每當(dāng)好奇某個 App 的實(shí)現(xiàn)時,都會打開它一窺究竟,用于調(diào)試自己的 App 也很方便
Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在運(yùn)行時動態(tài)添加代碼到某個方法
class-dump 從 Mach-O 文件生成 OC 頭文件,有時想看看某個 App 大概是如何組織的會比較方便
Hopper 可以對二進(jìn)制文件進(jìn)行反編譯,甚至可以生成偽代碼!有時想看看 UIViewController 里某個方法大概是怎么實(shí)現(xiàn)的,就可以用它。
Instruments 這個內(nèi)置的工具對于發(fā)現(xiàn) App 的各種問題很有幫助,如內(nèi)存占用、泄露,渲染問題等。
目標(biāo)
這個階段,對于底層的實(shí)現(xiàn)會有更深入的了解,各種 Core 開頭的 Framework 至少可以說出個大概,工具也能熟練使用,「正經(jīng)的代碼」寫過數(shù)萬行,可能天天在翻 Dash。如果別人讓你實(shí)現(xiàn)某個功能,能在較短的時間內(nèi)給出不錯的實(shí)現(xiàn)方案,并且足夠細(xì)致,甚至精細(xì)到如何使用 Core Graphic 去畫某個圖像。
其他
我覺得無論學(xué)習(xí)什么,「速成」的心態(tài)是最要不得的,這只會讓自己變得浮躁,一知半解,整個過程也很難讓自己的元學(xué)習(xí)能力得到提升。慢慢來,攻占一個城后,再去打下一個,這時心態(tài)也會平和許多。
對于iOS開發(fā)完全零基礎(chǔ),學(xué)習(xí)iOS開發(fā)會很難,不過要想自學(xué)iOS也不是不可能,需要具備兩點(diǎn)作為先決條件:
一、強(qiáng)大的自制力:
二、中等偏上的智力。
如果這兩點(diǎn)題主都不具備,就只能靠耗時間了。
作為一名iOS開發(fā)初學(xué)者,我的體會是從完全零基礎(chǔ)學(xué)習(xí)iOS開發(fā)是很難很難的,我自學(xué)了iOS開發(fā)一個月的時間,毫無頭緒最終放棄,報了培訓(xùn)班后,從此順利入了iOS開發(fā)的坑。
現(xiàn)在知乎精英們黑培訓(xùn)班貌似已經(jīng)成了一種政治正確,好像培訓(xùn)班出身的程序員就該感到多么羞恥似的。不過據(jù)我所知,75%的iOS開發(fā)者都是培訓(xùn)班出身(數(shù)據(jù)來源于之前看過的一個調(diào)查,具體比例忘了,所以說大概),據(jù)我觀察身邊的情形,這個比例還是太保守,真實(shí)情況只會高不會低。你們承認(rèn)自己是培訓(xùn)班出來就這么難嗎?想學(xué)習(xí)加q:二五九,二六一,四二八七,知識打算玩玩的就繞道吧,只歡迎愛學(xué)習(xí)的!
并且培訓(xùn)班出來的iOS開發(fā)者也只是有好有壞,就好像科班出身的iOS開發(fā)者也有好有壞一樣,如果這75%的開發(fā)者都不靠譜,國內(nèi)的移動化聯(lián)網(wǎng)怎么可能發(fā)展到可以和美國相媲美的程度?不能因?yàn)槟承┎豢孔V的個體,而黑整個群體。
從iOS開發(fā)小白到iOS開發(fā)高級工程師,如何學(xué)?
1.基礎(chǔ)
如果你是一個非編程相關(guān)專業(yè)的人,例如藝術(shù)專業(yè)想轉(zhuǎn)iOS開發(fā),建議你先去學(xué)C,C可以說是編程界的《易筋經(jīng)》,學(xué)好了C學(xué)其他語言會很容易上手。如果你有了編程基礎(chǔ),那就直接去學(xué)OC和swift吧。
2.入門
如果你感覺學(xué)著吃力,建議你先從視頻看起,因?yàn)橐曨l講解的詳細(xì)易懂,當(dāng)然看視頻進(jìn)度比較慢。這個階段要多寫一些demo,最好寫幾個完整的項(xiàng)目。例如寫一個有關(guān)天氣的客戶端或者其他的。
3.進(jìn)階
要想進(jìn)入這個階段,可能要比前兩個階段困難點(diǎn)了。前兩個階段只是看,思考的東西并不多,基本看了就會,很多人都可以做到。物以稀為貴,越容易學(xué)會越不值錢。
造輪子,紙上得來終覺淺,絕知此事要躬行。只是看和寫還不行,還要敲。先從小輪子寫起,可以先看別人的代碼,再去寫別人寫過的。熟練了以后,寫別人沒寫過的。日積月累,你會對iOS編程理解越來越深。
寫在最后
如果你只是想開發(fā)著玩玩,那么你按照以上學(xué)習(xí)就差不多了。但是如果你真想走編程這條不歸路,你最好還要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、計算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)這些知識,雖然這些東西在實(shí)際開發(fā)中用到的很少,但是如果不學(xué)這些基礎(chǔ),你在成長過程中會遇到瓶頸。另外,搜索問題的時候盡量用Google。多看看Apple官方文檔,多去StackOverflow問答,盡量熟悉閱讀英文的東西。國外有很多優(yōu)質(zhì)學(xué)習(xí)資源是沒有被譯成中文的。
師父領(lǐng)進(jìn)門,挖坑靠個人。愿大家在iOS挖坑的道路上越挖越深。。。如果有一天爬不出來了,希望不要來揍我。
網(wǎng)站標(biāo)題:ios開發(fā)參考書籍,ios開發(fā)書籍推薦 2021
新聞來源:http://chinadenli.net/article11/dsicpgd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、微信公眾號、網(wǎng)站設(shè)計、品牌網(wǎng)站制作、網(wǎng)站排名、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)