iOS學(xué)習(xí)的經(jīng)典資料
0. ?經(jīng)典輪子網(wǎng)站
http://www.reibang.com/p/73bdbf23a605
1.經(jīng)典外文網(wǎng)站? https://www.raywenderlich.com/
2. NSHipster關(guān)注被忽略的 Objective-C、Swift 和 Cocoa 特性戈鲁。? http://nshipster.cn/
OC? 代碼規(guī)范制定文章? http://ios.jobbole.com/82031/
3. iOS編程指南
http://www.dreamingwish.com/articlelist/category/toturial
作者:Franz Fang
鏈接:https://www.zhihu.com/question/20264108/answer/30263999
來源:知乎
著作權(quán)歸作者所有仇参。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處婆殿。
我反對理由如下:不管是斯坦福大學(xué)的CS193p公開課诈乒、蘋果官方文檔、絕大多數(shù)市場上龐雜的教學(xué)書籍都不是很適合入門同學(xué)看婆芦,想入門的話應(yīng)該選用學(xué)習(xí)成本最低的方法怕磨,從最最基本開始講起,并不是一味的講解語法與知識消约,而是一邊實踐一邊學(xué)習(xí)知識才是最好的學(xué)習(xí)方法肠鲫。
并且我想告訴題主,你問的是iOS 開發(fā)怎么入門或粮,但是你補充說明里說道的設(shè)計模式导饲、內(nèi)存管理等內(nèi)容暫時不用你關(guān)心,等你真正iOS入門了以后在研究吧被啼。也許我可以這么定義你的問題:
一個略懂編程的人并且完全沒有接觸過IOS開發(fā)的人想要學(xué)習(xí)IOS開發(fā)應(yīng)如何學(xué)習(xí)帜消?
--------------- 2015.5.15 更新? --------------
增加了怎么在Github上找優(yōu)質(zhì)OC項目
動畫效果推薦的教程
部分段落重新組織了語言
(一)objective-c語言開發(fā)iOS應(yīng)用
為什么不讓初學(xué)者看斯坦福教程:我以為,斯坦福大學(xué)IOS公開課不適合入門的同學(xué)看浓体,里面第一課講解的就是MVC模式泡挺。對于一個剛?cè)腴T想要學(xué)習(xí)的IOS的同學(xué)可能就完全懵了,心里想:“我特么第一課都聽不懂我后面還學(xué)個P啊”命浴。如果以前沒接觸過面向?qū)ο蟮恼Z言學(xué)習(xí)的熱情肯定大打折扣娄猫。
為什么不讓初學(xué)者看蘋果官方文檔:我還以為贱除,蘋果官方文檔的內(nèi)容雖然權(quán)威但example對初學(xué)者一點都不友好,而且個人認(rèn)為中文譯文翻譯不是令初學(xué)者很容易理解媳溺。初學(xué)階段月幌,教程的易理解程度我認(rèn)為是非常重要的一點。(實在要看請看英文原版悬蔽。)
我不否認(rèn)以上兩者是極好的學(xué)習(xí)材料扯躺,如果你入門了iOS開發(fā)并且有一定的英文功底,我是非常推薦你去看的蝎困,尤其官方文檔录语,應(yīng)該經(jīng)常翻閱。但是我認(rèn)為保持學(xué)習(xí)的熱情是最重要的禾乘。本著這個理念澎埠,我推薦的學(xué)習(xí)方法難度非常低,希望你們能滿意始藕。
第一階段: RayWenderlich網(wǎng)站中的 The iOS Apprentice教程 (難度指數(shù):※)
以上有幾個答案提到了這個網(wǎng)站蒲稳,但看什么教程沒有細(xì)說,我在這里簡單說說伍派。The iOS Apprentice的教程針對完全沒有編程經(jīng)驗的人設(shè)計江耀。這個教程是外國人寫的并且有免費試讀版,感興趣的人要看看拙已。里面說的東西都非常非尘黾牵基本摧冀,里面一個共講解了4個不同類型app倍踪,強(qiáng)烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會遇到很多復(fù)雜的語句和長的可怕的函數(shù)索昂,你不用感到恐慌建车,照著敲,知道它干嘛用完全OK了椒惨,隨著你編程時間以及經(jīng)驗的增加缤至,你都會懂得。
附鏈接:http://www.raywenderlich.com/store/ios-apprentice
注:這個教程是英文原版康谆,并且收費领斥,只免費提供一個app的教程。如果看完了這個免費的教程覺得還挺想繼續(xù)學(xué)的請參考@王寒老師的翻譯教程(只有前3個app教程沃暗,第4個教程剛出月洛,國內(nèi)應(yīng)該還沒有人翻譯,如果想看只能付費)孽锥。PS:(現(xiàn)在開發(fā)iOS應(yīng)用基本都是用Objective-C,至于剛出來的Swift現(xiàn)階段暫時不推薦學(xué)習(xí)嚼黔,如果想了解王寒老師也做了swift版本的The iOS Apprentice教程翻譯细层,自己去找)
附上王寒老師教程下載地址:https://github.com/eseedo/kidscoding
第二階段:培訓(xùn)班的網(wǎng)絡(luò)課程及入門書籍
經(jīng)過第一個階段你應(yīng)該已經(jīng)大致掌握IOS開發(fā)流程,能編寫一個非常簡單的應(yīng)用了唬涧。這時候相信你的熱情應(yīng)該會很高漲疫赎,但接下來的學(xué)習(xí)可能會很枯燥,做好準(zhǔn)備碎节。網(wǎng)絡(luò)課程的話推薦李明杰的課程捧搞,不推薦其他的。(他目前在廣州創(chuàng)業(yè)建立自己的培訓(xùn)品牌狮荔,沒有自制力看網(wǎng)絡(luò)課程的請去找他实牡。杰哥開源了一些非常優(yōu)秀的框架如:MJExtension )
建議首先要惡補基礎(chǔ)知識。經(jīng)過第一個階段你可能覺得你懂不少了轴合,但是只是表面创坞,尤其是沒學(xué)過編程的應(yīng)該好好學(xué)習(xí)一下視頻前面的課程,主要看看語法受葛。等你看惡心了看煩了就去看視頻里UI部分题涨,這里相對于來說比較輕松,一定要把視頻里寫的語句打一遍总滩,相信這樣你理解會更深刻纲堵。里面說的不清楚的地方上網(wǎng)可以百度,可以查書(如果你有書的話)闰渔。
Q:視頻教程是用來做什么的席函?
A:光有實踐沒有知識是寫不好程序的,第一階段基本都是實踐,第二部分則是用來查缺補漏套蒂。? ? ? ? ? ? 之所以推薦網(wǎng)絡(luò)課程是因為講解的比較系統(tǒng)撼港,各種入門知識都會涉及。因為iOS所涉及內(nèi)容龐? ? ? ? 大單看幾本書還是涉及不全的营曼。
Q:上不上培訓(xùn)班?
A:個人意見是不推薦去,自學(xué)足夠了愚隧。現(xiàn)在學(xué)習(xí)iOS的環(huán)境比前幾年好太多了,光憑借網(wǎng)上的資料是? ? ? 完全可以的學(xué)得很好的,如果你連這點學(xué)習(xí)能力還沒有我也不相信你將來能成為一個很優(yōu)秀的工程師蒂阱。而且你會發(fā)現(xiàn)在社會上一些互聯(lián)網(wǎng)公司是拒絕接收培訓(xùn)班出來的人。
推薦入門書籍:
tips:以下所有書籍有英文版看英文版狂塘,有最新版看最新版
1录煤、《Objective-C 程序設(shè)計》(難度指數(shù):※※)
2、《iOS 7應(yīng)用開發(fā)入門經(jīng)典》(難度指數(shù):※※)
3荞胡、《iOS開發(fā)指南-0基礎(chǔ)到AppStore上架》(難度指數(shù):※※※)
4妈踊、《iOS編程實戰(zhàn)》(難度指數(shù):※※※※)
這里面講解的很清楚,后面甚至有簡單的項目可以練手硝训,這對于看視頻教程看惡心的同學(xué)是個福音~你可以先做項目遇到不懂的再看視頻响委。
這里我想多說一句新思,買iOS開發(fā)的輔導(dǎo)書千萬別買過時太久的,我看以上有答案還推薦iOS4系列叢書呢...拜托現(xiàn)在都什么年代了赘风,現(xiàn)在iOS8教程都要出來了夹囚,你iOS6的教程都過時好久了更別提iOS4了...對于新出的swift語言好多人難以選擇不知道該學(xué)OC好還是Swift好。我個人建議現(xiàn)在學(xué)OC邀窃,一門新語言的誕生需要經(jīng)過時間的考驗與洗禮荸哟。等你學(xué)好了OC以后再看也不遲。
第三階段及以后
到這個階段你應(yīng)該擁有了充分的自學(xué)能力瞬捕,已經(jīng)達(dá)到了入門水平鞍历。
這時候以下網(wǎng)址將成為你的家常便飯:
Github,StackOverFlow
如果你編程遇到困難肪虎,在StackOverFlow上面應(yīng)該都能找到合適的解答劣砍。(前提是你英文不要太差)。Github上好多開源代碼足夠豐富你的眼界扇救。如果你想成為一個iOS開發(fā)者的話這上面兩個網(wǎng)站是你經(jīng)常以及必須會用到的刑枝。
Github上怎么搜牛人們的項目:
想學(xué)一點UI的同學(xué)可以看:
1、iOS by Tutorials
2迅腔、design+code? 網(wǎng)址:https://designcode.io/
想學(xué)一點動效/交互的同學(xué)可以看:
1装畅、下載QuartzComposer及相關(guān)插件如Origami,教程:Quartz Composer學(xué)習(xí)
想學(xué)applewatch開發(fā)的同學(xué)可以看:
1沧烈、《watchKit》raywenderlich剛推出這個教程掠兄,英文版無譯文。
進(jìn)價書單:
1锌雀、《Effective Objective-C 2.0》(必看)
2蚂夕、《Objective-C高級編程 iOS與OS X多線程和內(nèi)存管理》
3、《iOS開發(fā)進(jìn)階》
4汤锨、《iOS Auto Layout 開發(fā)秘籍》
推薦博客及網(wǎng)站:
1双抽、Github:https://github.com/
2百框、StackOverFlow:http://stackoverflow.com/
3闲礼、Code4App:http://code4app.com/
4、cocoachina:http://www.cocoachina.com/
5铐维、objc中國:http://objcio.cn/
進(jìn)階博客(排名不分先后..)
1柬泽、王巍的博客(我們都叫它喵神,他很萌噠)
鏈接:http://onevcat.com/(難度指數(shù):※※※※※)
理由:他的swift的新書講解的非常好嫁蛇,但不適合入門锨并,進(jìn)階的話這是很適合的一本書。其他關(guān)于OC的內(nèi)容可以翻看喵神的博客睬棚。
2第煮、唐巧哥的技術(shù)博客
鏈接:iOS開發(fā)如何提高(難度指數(shù):※※※※※)
理由:據(jù)傳說是iOS圈的劉德華解幼。巧哥05年1月會出一本進(jìn)階的書,可以關(guān)注以下包警。
3撵摆、葉孤城的技術(shù)博客 :
鏈接:葉孤城帶你讀源碼之RESideMenu(難度指數(shù):※※※)
理由:葉孤城童鞋的風(fēng)格就是講解細(xì)膩,通俗易懂害晦。
4特铝、破船之家:
鏈接:beyondvincent.com 的頁面(難度指數(shù):※※※)
理由:破船的博客內(nèi)容很全面,一些開發(fā)筆記壹瘟,技巧他都會教給你鲫剿。
5、Xcode Dev
鏈接:Xcode Dev(難度指數(shù):※※※※)
理由:也是一位大神的原創(chuàng)博客稻轨,內(nèi)容很值得學(xué)習(xí)灵莲。
6、txx's 的博客(我們都叫它蝦神殴俱,他也超萌噠)
鏈接:txx's blog
理由: 90后非常優(yōu)秀的iOS開發(fā)者笆呆,看看他的大學(xué)時期的經(jīng)歷才發(fā)現(xiàn)我們過的是多么懈怠,大神之所以為大神也是有原因的粱挡。
7赠幕、Kevin的博客
鏈接:Kevin Blog
理由:周楷雯是一個非常厲害的90后iOS開發(fā)者,他前些年寫的項目在Github上擁有2500+star (PNchat?忘了)非逞ぃ恐怖榕堰。
8、念茜姐姐的blog
鏈接: 新博客:http://nianxi.net舊博客:念茜的博客
理由: iOS圈里的女神級人物嫌套,她寫的iOS安全類的文章非常值得一看逆屡。
9、孫源的blog
理由:90后iOS開發(fā)者踱讨,技術(shù)同樣非常強(qiáng)魏蔗,目前似乎在百度知道任職。
等等...iOS圈內(nèi)值實力很強(qiáng)又懂得分享知識的開發(fā)者絕不止以上幾位痹筛,我隨時想到隨時再補充莺治。
(二)swift語言開發(fā)iOS應(yīng)用
這里推薦兩個入門學(xué)習(xí)比較好的方法
1、http://appcoda.com的網(wǎng)站(難度指數(shù):※)
非常淺顯易懂的入門級swift教程:http://www.appcoda.com/tutorials/
這個網(wǎng)站可以看兩方面:
(1)帚稠、隨時更新的swift tips (有一定水平在看)
(2)谣旁、新手主要看以下這本書
2、《Swift Tutorials》 依然是raywenderlich出品滋早,目前只有英文版榄审。(難度指數(shù):※)
3、官方swift譯文教程《The Swift Programming Language》中文版(難度指數(shù):※※)
4杆麸、上文提到的王巍的博客(喵神)《Swifter - 100 個 Swift 必備 tips》(難度指數(shù):※※※※)
喵神的這本書網(wǎng)上就有售賣浪感,請支持正版,絕對是不可多得的進(jìn)價書籍篮撑,此書并非傳統(tǒng)意義上的教程,是以tip的方式呈獻(xiàn)給大家的匆瓜。
等我想到再補充。以上驮吱。