iOS開發知識體系
之前看過一篇博客,博主梳理一個iOS開發知識與能力體系的思維導圖,點擊這里傳送。作者梳理得非常不錯但是擴展得非常大。如果是對于初學者來說,看著會被嚇跑。在這里我來嘗試梳理一下對于iOS初學者的知識體系。
開發環境
Mac
Mac mini、Mac book、iMac、黑蘋果、OS X虛擬機都行,但真要好好搞iOS開發那就***不要黑蘋果和虛擬機,這樣會直接影響你對iOS開發的興趣。同樣,如果你用的是一臺MacBook,這樣會大大增加你對iOS的開發興趣(MacBook***的程序員電腦)。PS:如何優雅的使用Mac
Xcode
到蘋果開發者中心 下載 并安裝。目前可以直接從Xcode 6開始入手了。
這里告訴你如何簡單的使用Xcode
到此為止你已經能夠安靜開發出一個跑在iOS模擬器上的“Hello world”
開發者賬號
非必須,如果你想將自己的程序跑在iPhone上的話,它就必不可少了,當然,如果你不是獨立應用開發者的話,一般你所在的企業應該都有,讓Agent或者Admin邀請你加入就可以了。
這里告訴你怎么理解開發者賬號
開發語言
對于任意一門新的技術來說,首先我認為學習其語言肯定是必須的也是首要的,對于iOS開發也不例外。就目前而言,Objective-C、C語言、Swift這三種語言都應該要有所了解,當然重點還是Objective-C。
Objective-C 重中之重,必修必精。 學習地址
C語言 初學需了解,進階必修。
iOS SDK
iOS的SDK學習可能是初學者需要耗時最多的一個知識。因為其中有大量的庫需要我們來學習掌握。其中最基本的幾個為:
Foundation.framework
在你學習使用iOS的過程中,你會碰到大量的"NS"前綴的類庫,這些類庫基本上屬于Foundation.framework,它是iOS開發的核心庫,其中包括:常用數據結構(NSArray/NSDictionary/NSString 等)、網絡(NSURL../NSHTTP..)、多線程(NSThread/NSNSOperation)等。
UIKit.framework
庫使用"UI"為前綴的類庫被包含在這個framework中,這些大部分是系統的UI層面的控件。如UIViewController、UIView、UIButton、UILabel等。使用這些控件才能構建出一個完整的APP。
QuartzCore.framework
iOS中絢麗而平滑的動畫效果,是吸引人的一大利器,如果你想做出這樣的效果,那你就得了解這個庫了。iOS的核心動畫的API都被包含在這個framework中,學會使用它才能讓你的APP更加亮眼。
當然,iOS的SDK中還有很多的framework,它們各自負責著自己的一部分,對于初學者來說,能將以上幾個framework的API了解清楚,就已經能做出一個完整的屬于自己的APP了。
如何學習這些framework呢?
1.主動學習,***入口當然是最原始的。
在Xcode的導航欄張找到對應的framework展開Header就可以看到對應的各類的頭文件,點擊進去就可以看到各個類的公共方法,并且有比較詳細的注釋。
2.被動學習,在開發過程中或者學習過程中,看到某些方法,不知道其具體的意思和用法,則可以在Xcode中通過 ⌘ + 鼠標單擊當前方法就可以跳轉到定義的頭文件中去查看使用方法,或者通過 iOS Developer Library 搜索查詢。
網絡
網絡這一塊不僅僅指學會使用SDK中的網絡API調用,而是指要去理解網絡編程。
你需要知道HTTP協議消息結構、GET/POST方法、常見的狀態碼的意思、Request/Response。
你還需要知道與服務器通信使用的數據格式如:json、xml。
數據庫
數據庫你需要知道基本的SQL語句 select/update/insert/delete的操作;
需要知道怎么連接表查詢:外連接、內連接、自連接等;
需要知道實體數據一對一、一對多、多對多關系如何設計數據庫表。
GitHub
iOS有著很濃厚的開源精神,在GitHub上有許多優秀的開源項目,在真正的開發過程中,某些著名的開源庫大家也都廣泛的使用著。如:
在開源社區還有著大量優秀的代碼,我們不僅僅是可以直接使用這些代碼從而提高我們的開發效率,而且還可以學習優秀的iOS開發者的代碼風格以及實現思路。