iOS開發(fā)知識體系
之前看過一篇博客,博主梳理一個iOS開發(fā)知識與能力體系的思維導(dǎo)圖,點擊這里傳送。作者梳理得非常不錯但是擴展得非常大。如果是對于初學(xué)者來說,看著會被嚇跑。在這里我來嘗試梳理一下對于iOS初學(xué)者的知識體系。
開發(fā)環(huán)境
Mac
Mac mini、Mac book、iMac、黑蘋果、OS X虛擬機都行,但真要好好搞iOS開發(fā)那就***不要黑蘋果和虛擬機,這樣會直接影響你對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)然,如果你不是獨立應(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)然重點還是Objective-C。
Objective-C 重中之重,必修必精。 學(xué)習(xí)地址
C語言 初學(xué)需了解,進(jìn)階必修。
Swift 未來之星,遲早要精。 學(xué)習(xí)地址/中文版
iOS SDK
iOS的SDK學(xué)習(xí)可能是初學(xué)者需要耗時最多的一個知識。因為其中有大量的庫需要我們來學(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)然是最原始的。
在Xcode的導(dǎo)航欄張找到對應(yīng)的framework展開Header就可以看到對應(yīng)的各類的頭文件,點擊進(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ù)據(jù)一對一、一對多、多對多關(guān)系如何設(shè)計數(shù)據(jù)庫表。
GitHub
iOS有著很濃厚的開源精神,在GitHub上有許多優(yōu)秀的開源項目,在真正的開發(fā)過程中,某些著名的開源庫大家也都廣泛的使用著。如:
在開源社區(qū)還有著大量優(yōu)秀的代碼,我們不僅僅是可以直接使用這些代碼從而提高我們的開發(fā)效率,而且還可以學(xué)習(xí)優(yōu)秀的iOS開發(fā)者的代碼風(fēng)格以及實現(xiàn)思路。