iOS開發(fā)知識體系

之前看過一篇博客,博主梳理一個iOS開發(fā)知識與能力體系的思維導(dǎo)圖,點(diǎn)擊這里傳送。作者梳理得非常不錯但是擴(kuò)展得非常大。如果是對于初學(xué)者來說,看著會被嚇跑。在這里我來嘗試梳理一下對于iOS初學(xué)者的知識體系。

開發(fā)環(huán)境

Mac

Mac mini、Mac book、iMac、黑蘋果、OS X虛擬機(jī)都行,但真要好好搞iOS開發(fā)那就最好不要黑蘋果和虛擬機(jī),這樣會直接影響你對iOS開發(fā)的興趣。同樣,如果你用的是一臺MacBook,這樣會大大增加你對iOS的開發(fā)興趣(MacBook最好的程序員電腦)。PS: 如何優(yōu)雅的使用Mac

Xcode

到蘋果開發(fā)者中心 下載 并安裝。目前可以直接從Xcode 6開始入手了。
這里告訴你如何簡單的使用Xcode

到此為止你已經(jīng)能夠安靜開發(fā)出一個跑在iOS模擬器上的“Hello world”

開發(fā)者賬號

非必須,如果你想將自己的程序跑在iPhone上的話,它就必不可少了,當(dāng)然,如果你不是獨(dú)立應(yīng)用開發(fā)者的話,一般你所在的企業(yè)應(yīng)該都有,讓Agent或者Admin邀請你加入就可以了。
這里告訴你怎么理解開發(fā)者賬號

開發(fā)語言

對于任意一門新的技術(shù)來說,首先我認(rèn)為學(xué)習(xí)其語言肯定是必須的也是首要的,對于iOS開發(fā)也不例外。就目前而言,Objective-C、C語言、Swift這三種語言都應(yīng)該要有所了解,當(dāng)然重點(diǎn)還是Objective-C。

Objective-C 重中之重,必修必精。 學(xué)習(xí)地址

C語言 初學(xué)需了解,進(jìn)階必修。

Swift 未來之星,遲早要精。 學(xué)習(xí)地址/中文版

iOS SDK

iOS的SDK學(xué)習(xí)可能是初學(xué)者需要耗時最多的一個知識。因?yàn)槠渲杏写罅康膸煨枰覀儊韺W(xué)習(xí)掌握。其中最基本的幾個為:

Foundation.framework

在你學(xué)習(xí)使用iOS的過程中,你會碰到大量的"NS"前綴的類庫,這些類庫基本上屬于Foundation.framework,它是iOS開發(fā)的核心庫,其中包括:常用數(shù)據(jù)結(jié)構(gòu)(NSArray/NSDictionary/NSString 等)、網(wǎng)絡(luò)(NSURL../NSHTTP..)、多線程(NSThread/NSNSOperation)等。

UIKit.framework

庫使用"UI"為前綴的類庫被包含在這個framework中,這些大部分是系統(tǒng)的UI層面的控件。如UIViewController、UIView、UIButton、UILabel等。使用這些控件才能構(gòu)建出一個完整的APP。

QuartzCore.framework

iOS中絢麗而平滑的動畫效果,是吸引人的一大利器,如果你想做出這樣的效果,那你就得了解這個庫了。iOS的核心動畫的API都被包含在這個framework中,學(xué)會使用它才能讓你的APP更加亮眼。


當(dāng)然,iOS的SDK中還有很多的framework,它們各自負(fù)責(zé)著自己的一部分,對于初學(xué)者來說,能將以上幾個framework的API了解清楚,就已經(jīng)能做出一個完整的屬于自己的APP了。

如何學(xué)習(xí)這些framework呢?

1.主動學(xué)習(xí),最佳入口當(dāng)然是最原始的。

img
img

在Xcode的導(dǎo)航欄張找到對應(yīng)的framework展開Header就可以看到對應(yīng)的各類的頭文件,點(diǎn)擊進(jìn)去就可以看到各個類的公共方法,并且有比較詳細(xì)的注釋。

2.被動學(xué)習(xí),在開發(fā)過程中或者學(xué)習(xí)過程中,看到某些方法,不知道其具體的意思和用法,則可以在Xcode中通過 ? + 鼠標(biāo)單擊當(dāng)前方法就可以跳轉(zhuǎn)到定義的頭文件中去查看使用方法,或者通過 iOS Developer Library 搜索查詢。

網(wǎng)絡(luò)

網(wǎng)絡(luò)這一塊不僅僅指學(xué)會使用SDK中的網(wǎng)絡(luò)API調(diào)用,而是指要去理解網(wǎng)絡(luò)編程。
你需要知道HTTP協(xié)議消息結(jié)構(gòu)、GET/POST方法、常見的狀態(tài)碼的意思、Request/Response
你還需要知道與服務(wù)器通信使用的數(shù)據(jù)格式如:json、xml。

數(shù)據(jù)庫

數(shù)據(jù)庫你需要知道基本的SQL語句 select/update/insert/delete的操作;
需要知道怎么連接表查詢:外連接、內(nèi)連接、自連接等;
需要知道實(shí)體數(shù)據(jù)一對一、一對多、多對多關(guān)系如何設(shè)計(jì)數(shù)據(jù)庫表。

GitHub

iOS有著很濃厚的開源精神,在GitHub上有許多優(yōu)秀的開源項(xiàng)目,在真正的開發(fā)過程中,某些著名的開源庫大家也都廣泛的使用著。如:

AFNetworking

SDWebImage

MJRefresh

EGOTableViewPullRefresh

JDStatusBarNotification

在開源社區(qū)還有著大量優(yōu)秀的代碼,我們不僅僅是可以直接使用這些代碼從而提高我們的開發(fā)效率,而且還可以學(xué)習(xí)優(yōu)秀的iOS開發(fā)者的代碼風(fēng)格以及實(shí)現(xiàn)思路。

最后的推薦

官方正宗,一起武功的起源

objc中國

matt 大神博客

貓神大神博客

唐巧博客

陽神

后續(xù)會繼續(xù)針對某些點(diǎn)來寫一些詳細(xì)的介紹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容