著作權(quán)歸作者所有。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都做網(wǎng)站、廣南網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、廣南網(wǎng)絡(luò)營(yíng)銷、廣南企業(yè)策劃、廣南品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供廣南建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
作者:Franz Fang
鏈接:
來(lái)源:知乎
不管是斯坦福大學(xué)的CS193p公開(kāi)課、蘋果官方文檔、絕大多數(shù)市場(chǎng)上龐雜的教學(xué)書籍都不是很適合入門同學(xué)看,想入門的話應(yīng)該選用學(xué)習(xí)成本最低的方法,從最最基本開(kāi)始講起,并不是一味的講解語(yǔ)法與知識(shí),而是一邊實(shí)踐一邊學(xué)習(xí)知識(shí)才是最好的學(xué)習(xí)方法。
并且我想告訴題主,你問(wèn)的是iOS 開(kāi)發(fā)怎么入門,但是你補(bǔ)充說(shuō)明里說(shuō)道的設(shè)計(jì)模式、內(nèi)存管理等內(nèi)容暫時(shí)不用你關(guān)心,等你真正iOS入門了以后在研究吧。也許我可以這么定義你的問(wèn)題:
一個(gè)略懂編程的人并且完全沒(méi)有接觸過(guò)IOS開(kāi)發(fā)的人想要學(xué)習(xí)IOS開(kāi)發(fā)應(yīng)如何學(xué)習(xí)?
--------------- 2015.5.15 更新 --------------
增加了怎么在Github上找優(yōu)質(zhì)OC項(xiàng)目
動(dòng)畫效果推薦的教程
部分段落重新組織了語(yǔ)言
(一)objective-c語(yǔ)言開(kāi)發(fā)iOS應(yīng)用
為什么不讓初學(xué)者看斯坦福教程:我以為,斯坦福大學(xué)IOS公開(kāi)課不適合入門的同學(xué)看,里面第一課講解的就是MVC模式。對(duì)于一個(gè)剛?cè)腴T想要學(xué)習(xí)的IOS的同學(xué)可能就完全懵了,心里想:“我特么第一課都聽(tīng)不懂我后面還學(xué)個(gè)P啊”。如果以前沒(méi)接觸過(guò)面向?qū)ο蟮恼Z(yǔ)言學(xué)習(xí)的熱情肯定大打折扣。
為什么不讓初學(xué)者看蘋果官方文檔:我還以為,蘋果官方文檔的內(nèi)容雖然權(quán)威但example對(duì)初學(xué)者一點(diǎn)都不友好,而且個(gè)人認(rèn)為中文譯文翻譯不是令初學(xué)者很容易理解。初學(xué)階段,教程的易理解程度我認(rèn)為是非常重要的一點(diǎn)。(實(shí)在要看請(qǐng)看英文原版。)
我不否認(rèn)以上兩者是極好的學(xué)習(xí)材料,如果你入門了iOS開(kāi)發(fā)并且有一定的英文功底,我是非常推薦你去看的,尤其官方文檔,應(yīng)該經(jīng)常翻閱。但是我認(rèn)為保持學(xué)習(xí)的熱情是最重要的。本著這個(gè)理念,我推薦的學(xué)習(xí)方法難度非常低,希望你們能滿意。
第一階段: RayWenderlich網(wǎng)站中的 The iOS Apprentice教程 (難度指數(shù):※)
img src="" data-rawwidth="646" data-rawheight="560" class="origin_image zh-lightbox-thumb" width="646" data-original=""以上有幾個(gè)答案提到了這個(gè)網(wǎng)站,但看什么教程沒(méi)有細(xì)說(shuō),我在這里簡(jiǎn)單說(shuō)說(shuō)。The iOS Apprentice的教程針對(duì)完全沒(méi)有編程經(jīng)驗(yàn)的人設(shè)計(jì)。這個(gè)教程是外國(guó)人寫的并且有免費(fèi)試讀版,感興趣的人要看看。里面說(shuō)的東西都非常非?;?,里面一個(gè)共講解了4個(gè)不同類型app,強(qiáng)烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會(huì)遇到很多復(fù)雜的語(yǔ)句和長(zhǎng)的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時(shí)間以及經(jīng)驗(yàn)的增加,你都會(huì)懂得。以上有幾個(gè)答案提到了這個(gè)網(wǎng)站,但看什么教程沒(méi)有細(xì)說(shuō),我在這里簡(jiǎn)單說(shuō)說(shuō)。The iOS Apprentice的教程針對(duì)完全沒(méi)有編程經(jīng)驗(yàn)的人設(shè)計(jì)。這個(gè)教程是外國(guó)人寫的并且有免費(fèi)試讀版,感興趣的人要看看。里面說(shuō)的東西都非常非?;?,里面一個(gè)共講解了4個(gè)不同類型app,強(qiáng)烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會(huì)遇到很多復(fù)雜的語(yǔ)句和長(zhǎng)的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時(shí)間以及經(jīng)驗(yàn)的增加,你都會(huì)懂得。
附鏈接:
注:這個(gè)教程是英文原版,并且收費(fèi),只免費(fèi)提供一個(gè)app的教程。如果看完了這個(gè)免費(fèi)的教程覺(jué)得還挺想繼續(xù)學(xué)的請(qǐng)參考 @王寒 老師的翻譯教程(只有前3個(gè)app教程,第4個(gè)教程剛出,國(guó)內(nèi)應(yīng)該還沒(méi)有人翻譯,如果想看只能付費(fèi))。PS:(現(xiàn)在開(kāi)發(fā)iOS應(yīng)用基本都是用Objective-C,至于剛出來(lái)的Swift現(xiàn)階段暫時(shí)不推薦學(xué)習(xí),如果想了解王寒老師也做了swift版本的The iOS Apprentice教程翻譯,自己去找)
附上王寒老師教程下載地址:
第二階段:培訓(xùn)班的網(wǎng)絡(luò)課程及入門書籍
經(jīng)過(guò)第一個(gè)階段你應(yīng)該已經(jīng)大致掌握IOS開(kāi)發(fā)流程,能編寫一個(gè)非常簡(jiǎn)單的應(yīng)用了。這時(shí)候相信你的熱情應(yīng)該會(huì)很高漲,但接下來(lái)的學(xué)習(xí)可能會(huì)很枯燥,做好準(zhǔn)備。網(wǎng)絡(luò)課程的話推薦李明杰的課程,不推薦其他的。(他目前在廣州創(chuàng)業(yè)建立自己的培訓(xùn)品牌,沒(méi)有自制力看網(wǎng)絡(luò)課程的請(qǐng)去找他。杰哥開(kāi)源了一些非常優(yōu)秀的框架如:MJExtension )
建議首先要惡補(bǔ)基礎(chǔ)知識(shí)。經(jīng)過(guò)第一個(gè)階段你可能覺(jué)得你懂不少了,但是只是表面,尤其是沒(méi)學(xué)過(guò)編程的應(yīng)該好好學(xué)習(xí)一下視頻前面的課程,主要看看語(yǔ)法。等你看惡心了看煩了就去看視頻里UI部分,這里相對(duì)于來(lái)說(shuō)比較輕松,一定要把視頻里寫的語(yǔ)句打一遍,相信這樣你理解會(huì)更深刻。里面說(shuō)的不清楚的地方上網(wǎng)可以百度,可以查書(如果你有書的話)。
Q:視頻教程是用來(lái)做什么的?
A:光有實(shí)踐沒(méi)有知識(shí)是寫不好程序的,第一階段基本都是實(shí)踐,第二部分則是用來(lái)查缺補(bǔ)漏。 之所以推薦網(wǎng)絡(luò)課程是因?yàn)橹v解的比較系統(tǒng),各種入門知識(shí)都會(huì)涉及。因?yàn)閕OS所涉及內(nèi)容龐 大單看幾本書還是涉及不全的。
Q:上不上培訓(xùn)班?
A:個(gè)人意見(jiàn)是不推薦去,自學(xué)足夠了?,F(xiàn)在學(xué)習(xí)iOS的環(huán)境比前幾年好太多了,光憑借網(wǎng)上的資料是 完全可以的學(xué)得很好的,如果你連這點(diǎn)學(xué)習(xí)能力還沒(méi)有我也不相信你將來(lái)能成為一個(gè)很優(yōu)秀的工程師。而且你會(huì)發(fā)現(xiàn)在社會(huì)上一些互聯(lián)網(wǎng)公司是拒絕接收培訓(xùn)班出來(lái)的人。
推薦入門書籍:
tips:以下所有書籍有英文版看英文版,有最新版看最新版
1、《Objective-C 程序設(shè)計(jì)》(難度指數(shù):※※)
2、《iOS 7應(yīng)用開(kāi)發(fā)入門經(jīng)典》(難度指數(shù):※※)
3、《iOS開(kāi)發(fā)指南-0基礎(chǔ)到AppStore上架》(難度指數(shù):※※※)
4、《iOS編程實(shí)戰(zhàn)》(難度指數(shù):※※※※)
這里面講解的很清楚,后面甚至有簡(jiǎn)單的項(xiàng)目可以練手,這對(duì)于看視頻教程看惡心的同學(xué)是個(gè)福音~你可以先做項(xiàng)目遇到不懂的再看視頻。
這里我想多說(shuō)一句,買iOS開(kāi)發(fā)的輔導(dǎo)書千萬(wàn)別買過(guò)時(shí)太久的,我看以上有答案還推薦iOS4系列叢書呢...拜托現(xiàn)在都什么年代了,現(xiàn)在iOS8教程都要出來(lái)了,你iOS6的教程都過(guò)時(shí)好久了更別提iOS4了...對(duì)于新出的swift語(yǔ)言好多人難以選擇不知道該學(xué)OC好還是Swift好。我個(gè)人建議現(xiàn)在學(xué)OC,一門新語(yǔ)言的誕生需要經(jīng)過(guò)時(shí)間的考驗(yàn)與洗禮。等你學(xué)好了OC以后再看也不遲。
第三階段及以后
到這個(gè)階段你應(yīng)該擁有了充分的自學(xué)能力,已經(jīng)達(dá)到了入門水平。
這時(shí)候以下網(wǎng)址將成為你的家常便飯:
Github,StackOverFlow
如果你編程遇到困難,在StackOverFlow上面應(yīng)該都能找到合適的解答。(前提是你英文不要太差)。Github上好多開(kāi)源代碼足夠豐富你的眼界。如果你想成為一個(gè)iOS開(kāi)發(fā)者的話這上面兩個(gè)網(wǎng)站是你經(jīng)常以及必須會(huì)用到的。
Github上怎么搜牛人們的項(xiàng)目:
img src="" data-rawwidth="425" data-rawheight="360" class="origin_image zh-lightbox-thumb" width="425" data-original=""
想學(xué)一點(diǎn)UI的同學(xué)可以看:
1、iOS by Tutorials
2、design+code 網(wǎng)址:
想學(xué)一點(diǎn)動(dòng)效/交互的同學(xué)可以看:
1、下載QuartzComposer及相關(guān)插件如Origami,教程: Quartz Composer學(xué)習(xí)
想學(xué)applewatch開(kāi)發(fā)的同學(xué)可以看:
1、《watchKit》raywenderlich剛推出這個(gè)教程,英文版無(wú)譯文。
進(jìn)價(jià)書單:
1、《Effective Objective-C 2.0》(必看)
2、《Objective-C高級(jí)編程 iOS與OS X多線程和內(nèi)存管理》
3、《iOS開(kāi)發(fā)進(jìn)階》
4、《iOS Auto Layout 開(kāi)發(fā)秘籍》
推薦博客及網(wǎng)站:
1、Github:
2、StackOverFlow:
3、Code4App:
4、cocoachina:
5、objc中國(guó):
進(jìn)階博客(排名不分先后..)
1、王巍的博客(我們都叫它喵神,他很萌噠)
鏈接: (難度指數(shù):※※※※※)
理由:他的swift的新書講解的非常好,但不適合入門,進(jìn)階的話這是很適合的一本書。其他關(guān)于OC的內(nèi)容可以翻看喵神的博客。
2、唐巧哥的技術(shù)博客
鏈接: iOS開(kāi)發(fā)如何提高 (難度指數(shù):※※※※※)
理由:據(jù)傳說(shuō)是iOS圈的劉德華。巧哥05年1月會(huì)出一本進(jìn)階的書,可以關(guān)注以下。
3、葉孤城的技術(shù)博客 :
鏈接:葉孤城帶你讀源碼之RESideMenu (難度指數(shù):※※※)
理由:葉孤城童鞋的風(fēng)格就是講解細(xì)膩,通俗易懂。
4、破船之家:
鏈接:beyondvincent.com 的頁(yè)面 (難度指數(shù):※※※)
理由:破船的博客內(nèi)容很全面,一些開(kāi)發(fā)筆記,技巧他都會(huì)教給你。
5、Xcode Dev
鏈接: Xcode Dev (難度指數(shù):※※※※)
理由:也是一位大神的原創(chuàng)博客,內(nèi)容很值得學(xué)習(xí)。
6、txx's 的博客(我們都叫它蝦神,他也超萌噠)
鏈接: txx's blog
理由: 90后非常優(yōu)秀的iOS開(kāi)發(fā)者,看看他的大學(xué)時(shí)期的經(jīng)歷才發(fā)現(xiàn)我們過(guò)的是多么懈怠,大神之所以為大神也是有原因的。
7、Kevin的博客
鏈接: Kevin Blog
理由:周楷雯是一個(gè)非常厲害的90后iOS開(kāi)發(fā)者,他前些年寫的項(xiàng)目在Github上擁有2500+star (PNchat?忘了)非??植?。
8、念茜姐姐的blog
鏈接: 新博客: 舊博客:念茜的博客
理由: iOS圈里的女神級(jí)人物,她寫的iOS安全類的文章非常值得一看。
9、孫源的blog
鏈接: sunnyxx的技術(shù)博客
理由:90后iOS開(kāi)發(fā)者,技術(shù)同樣非常強(qiáng),目前似乎在百度知道任職。
等等...iOS圈內(nèi)值實(shí)力很強(qiáng)又懂得分享知識(shí)的開(kāi)發(fā)者絕不止以上幾位,我隨時(shí)想到隨時(shí)再補(bǔ)充。
(二)swift語(yǔ)言開(kāi)發(fā)iOS應(yīng)用
這里推薦兩個(gè)入門學(xué)習(xí)比較好的方法
1、的網(wǎng)站(難度指數(shù):※)
非常淺顯易懂的入門級(jí)swift教程:
這個(gè)網(wǎng)站可以看兩方面:
(1)、隨時(shí)更新的swift tips (有一定水平在看)
(2)、新手主要看以下這本書img src="" data-rawwidth="390" data-rawheight="434" class="content_image" width="390"
2、《Swift Tutorials》 依然是raywenderlich出品,目前只有英文版。(難度指數(shù):※)
3、官方swift譯文教程 《The Swift Programming Language》中文版 (難度指數(shù):※※)
4、上文提到的王巍的博客(喵神)《Swifter - 100 個(gè) Swift 必備 tips》(難度指數(shù):※※※※)
喵神的這本書網(wǎng)上就有售賣,請(qǐng)支持正版,絕對(duì)是不可多得的進(jìn)價(jià)書籍,此書并非傳統(tǒng)意義上的教程,是以tip的方式呈獻(xiàn)給大家的。
IOS開(kāi)發(fā)指南:從零基礎(chǔ)到App Store上架,完整掃描版
本書共4 部分:第一部分為基礎(chǔ)篇,介紹了iOS 的一些基礎(chǔ)知識(shí);第二部分為網(wǎng)絡(luò)篇,介紹了iOS 網(wǎng)絡(luò)開(kāi)發(fā)相關(guān)的知識(shí);第三部分為進(jìn)階篇,介紹了iOS 高級(jí)內(nèi)容、商業(yè)思考等;第四部分為實(shí)戰(zhàn)篇,從無(wú)到有地介紹了兩個(gè)真實(shí)的iOS 應(yīng)用——MyNotes 應(yīng)用和2016 里約熱內(nèi)盧奧運(yùn)會(huì)應(yīng)用。書中包括了100 多個(gè)完整的案例項(xiàng)目源代碼,大家可以到本書網(wǎng)站 下載。
本書適合iOS 開(kāi)發(fā)人員閱讀。
這本書非常強(qiáng)悍,我就是跟他學(xué)的,我有,不過(guò)是實(shí)體書。。沒(méi)電子版
如果你已經(jīng)是一個(gè)開(kāi)發(fā)者,那看這書是可以的,這書主要是講開(kāi)發(fā)一個(gè)程序的事情,而不是從一行行代碼開(kāi)始教你怎么寫,如果你什么都不會(huì),想靠這書變成程序員,那就不靠譜了。