如何學(xué)習(xí)才能快速成為ios開發(fā)高手--ios知識(shí)架構(gòu)全方位探討

原文鏈接:http://blog.csdn.net/xotty/article/details/52620505

學(xué)習(xí)ios開發(fā)溅话,從哪兒學(xué)起?都要學(xué)哪些知識(shí)歌焦?如何才算掌握或精通ios開發(fā)飞几?筆者根據(jù)自己多年的ios開發(fā)經(jīng)驗(yàn),給出一些體會(huì)独撇,以便為立志成為ios開發(fā)精英的人員快速找到一條學(xué)習(xí)之路屑墨。本文是以最新上市的ios10 為依據(jù)的。

一纷铣、ios總體知識(shí)架構(gòu)

要全面掌握ios開發(fā)技術(shù)卵史,需要學(xué)習(xí)和掌握下列幾方面的知識(shí)和技巧:

1.開發(fā)語言:Objective-C或Swift。

2.ios SDK:由蘋果官方提供的一些列從初級(jí)到高級(jí)搜立,并不斷更新和擴(kuò)展的API以躯。包括框架(Framework)和動(dòng)態(tài)庫(Dynamic Library)兩種形式。

3.App架構(gòu):APP的組成儒拂、APP生命周期及各種狀態(tài)轉(zhuǎn)換寸潦、APP界面基本原則和跳轉(zhuǎn)規(guī)則等色鸳。

4.集成開發(fā)測(cè)試環(huán)境Xcode:包括編碼社痛、編譯、運(yùn)行命雀、測(cè)試蒜哀、UI可視化構(gòu)建、APP Sotre發(fā)布等工作均可以在此環(huán)境下完成吏砂。

圖1:ios知識(shí)總體架構(gòu)

上述四個(gè)方面的知識(shí)對(duì)于ios程序開發(fā)缺一不可撵儿。其中開發(fā)語言是基礎(chǔ),ios SDK是核心狐血,Xcode是工具淀歇,App架構(gòu)是必須遵循的基本規(guī)則。

二匈织、ios特色關(guān)鍵知識(shí)點(diǎn)

下列知識(shí)點(diǎn)大部分是ios特有的浪默,在iOS 開發(fā)中起著非常重要的作用牡直,需要仔細(xì)學(xué)習(xí)領(lǐng)會(huì)。其中藍(lán)色字體為蘋果官方提供的相應(yīng)技術(shù)指南文件纳决,對(duì)這些知識(shí)點(diǎn)均做了全面深入的闡述碰逸,是ios開發(fā)人員學(xué)習(xí)的第一手資料。

1.委托(Delegate):Concepts in Objective-C Programming

2.通知(Notification):Notifications;Local and Remote Notification Programming Guide

3..目標(biāo)/動(dòng)作(Target/Action):Target-Action in UIKit

4.沙盒技術(shù):App Sandbox Design Guide

5.MVC架構(gòu):Concepts in Objective-C Programming;Design Guidelines for MVC Applications

6.iCloud存儲(chǔ):Transferring Data to and from iCloud

7.塊(Block):Creating a Block阔加;

8.自動(dòng)布局(Auto Layout):Auto Layout Guide

9.KVO/KVC:Key-Value Observing Programming Guide

10.多任務(wù)(Multitasking):Concurrency Programming Guide

上述知識(shí)點(diǎn)1-5是基礎(chǔ)性的饵史,6~10是提高性的。理解和掌握了這些知識(shí)點(diǎn)才能更加靈活和有效地進(jìn)行ios開發(fā)胜榔。除了上述技術(shù)指南外胳喷,下列基礎(chǔ)性的技術(shù)指南也建議開發(fā)者認(rèn)真學(xué)習(xí):

iOS Human Interface Guidelines

App Programming Guide for iOS

View Controller ProgrammingGuide for iOS

Event Handling Guide for iOS

Xcode Overview

Debugging?with Xcode

Testing with Xcode

App Distribution Guide

Internationalization and Localization Guide

Programmming With Objective-C或The Swift Programming Language (Swift 3)

Object-Oriented Programmming With Objective-C

Adopting Modern Objective-C

三、iOS Framework

ios技術(shù)體系按照官方說法分為下列四層:

圖2:ios技術(shù)層次結(jié)構(gòu)

這些技術(shù)被打包成現(xiàn)成的Framework夭织,供開發(fā)者直接調(diào)用厌蔽。ios10共有91個(gè)Framework,按照其功能可以分成基礎(chǔ)類(Foundation)摔癣、數(shù)據(jù)類(DATA)奴饮、網(wǎng)絡(luò)類(NET)、圖形動(dòng)畫類(GRAPH)择浊、音視頻類(AV)戴卜、系統(tǒng)類(SYSTEM)、蘋果特定業(yè)務(wù)接口類(ASI)琢岩、測(cè)試類(TEST)共八個(gè)類別投剥。按照其難易程度可以分為初級(jí)、中級(jí)和高級(jí)担孔。具體分布如下圖(圖中數(shù)字為該類型和等級(jí)Framework數(shù)量):

圖3:ios Framework分類與分布

學(xué)習(xí)ios開發(fā)應(yīng)由淺入深江锨,循序漸進(jìn)。掌握了初級(jí)框架就可以編寫簡單的ios程序了糕篇,包括簡單的本地?cái)?shù)據(jù)啄育、圖片、照片拌消、音視頻挑豌、地址簿、郵件墩崩、日程等的讀寫和顯示氓英。中級(jí)框架涉及面最廣,包括所有類型框架鹦筹,這里FOUNDATION铝阐、DATA、NET和TEST類又是基本的铐拐,涉及復(fù)雜數(shù)據(jù)類型徘键、文件芳誓、數(shù)據(jù)庫、各種網(wǎng)絡(luò)連接啊鸭、單元測(cè)試等锹淌,應(yīng)盡量全面掌握,其它類型的框架可以根據(jù)興趣或工作任務(wù)逐漸去學(xué)習(xí)或掌握赠制。高級(jí)框架以圖形赂摆、音視頻內(nèi)容為主,主要是提供了更低層和更靈活的硬件操作接口钟些。僅在必要時(shí)再去深入學(xué)習(xí)即可烟号。由此可見,一個(gè)初級(jí)ios開發(fā)者應(yīng)掌握至少15個(gè)框架政恍,一個(gè)中級(jí)ios開發(fā)者應(yīng)掌握40~50個(gè)框架汪拥,一個(gè)高級(jí)ios開發(fā)者應(yīng)掌握50~60個(gè)框架(至少包含10個(gè)高級(jí)框架)。具體各Framework的功能和分類見下表:

表1:iOS Framework 分類和簡述

綜上所述篙耗,ios開發(fā)最基礎(chǔ)的就是Objective-C或Swift語言迫筑、Foundation和UIKit框架中的基本內(nèi)容及Xcode的簡單使用;進(jìn)一步就是數(shù)據(jù)庫宗弯、網(wǎng)絡(luò)脯燃、圖形動(dòng)畫、音視頻蒙保、系統(tǒng)安全和ios專用業(yè)務(wù)接口(如地圖辕棚、加速器、健康邓厕、語音識(shí)別逝嚎、Web.....)的調(diào)用和多線程的使用,此時(shí)對(duì)Xcode使用會(huì)增加單元測(cè)試详恼、性能調(diào)優(yōu)补君、Bug追蹤等高級(jí)功能;最終達(dá)到能使用低層的Framework或動(dòng)態(tài)庫優(yōu)化硬件性能或靈活處理復(fù)雜業(yè)務(wù)的目標(biāo)单雾。

ios開發(fā)學(xué)習(xí)的最好資料就是蘋果的官方文檔赚哗,包括各種技術(shù)指南她紫、API參考文檔和示例程序(Sample Code)硅堆,要想成為高手,沒有捷徑贿讹,必須靜下心來一點(diǎn)點(diǎn)看渐逃。本文只是將其做了一個(gè)分門別類的索引和說明,按照這個(gè)索引和自己的目標(biāo)循序漸進(jìn)地學(xué)習(xí)民褂,你一定會(huì)更快茄菊、更好地成為ios開發(fā)高手疯潭!

以上所言均為個(gè)人學(xué)習(xí)體會(huì),難免疏漏面殖,不當(dāng)之處敬請(qǐng)批評(píng)指正竖哩!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市脊僚,隨后出現(xiàn)的幾起案子相叁,更是在濱河造成了極大的恐慌,老刑警劉巖辽幌,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件增淹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡乌企,警方通過查閱死者的電腦和手機(jī)虑润,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來加酵,“玉大人拳喻,你說我怎么就攤上這事≈硗螅” “怎么了舞蔽?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長码撰。 經(jīng)常有香客問我渗柿,道長,這世上最難降的妖魔是什么脖岛? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任朵栖,我火速辦了婚禮,結(jié)果婚禮上柴梆,老公的妹妹穿的比我還像新娘陨溅。我一直安慰自己,他們只是感情好绍在,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布门扇。 她就那樣靜靜地躺著,像睡著了一般偿渡。 火紅的嫁衣襯著肌膚如雪臼寄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天溜宽,我揣著相機(jī)與錄音吉拳,去河邊找鬼。 笑死适揉,一個(gè)胖子當(dāng)著我的面吹牛留攒,可吹牛的內(nèi)容都是我干的煤惩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼炼邀,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼魄揉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拭宁,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤什猖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后红淡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體不狮,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年在旱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摇零。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桶蝎,死狀恐怖驻仅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情登渣,我是刑警寧澤噪服,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站胜茧,受9級(jí)特大地震影響粘优,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呻顽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一雹顺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧廊遍,春花似錦嬉愧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卵迂,卻和暖如春裕便,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狭握。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工闪金, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人论颅。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓哎垦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親恃疯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漏设,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容