如何學習才能快速成為ios開發高手--ios知識架構全方位探討

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

學習ios開發,從哪兒學起?都要學哪些知識?如何才算掌握或精通ios開發?筆者根據自己多年的ios開發經驗,給出一些體會,以便為立志成為ios開發精英的人員快速找到一條學習之路。本文是以最新上市的ios10 為依據的。

一、ios總體知識架構

要全面掌握ios開發技術,需要學習和掌握下列幾方面的知識和技巧:

1.開發語言:Objective-C或Swift。

2.ios SDK:由蘋果官方提供的一些列從初級到高級,并不斷更新和擴展的API。包括框架(Framework)和動態庫(Dynamic Library)兩種形式。

3.App架構:APP的組成、APP生命周期及各種狀態轉換、APP界面基本原則和跳轉規則等。

4.集成開發測試環境Xcode:包括編碼、編譯、運行、測試、UI可視化構建、APP Sotre發布等工作均可以在此環境下完成。

圖1:ios知識總體架構

上述四個方面的知識對于ios程序開發缺一不可。其中開發語言是基礎,ios SDK是核心,Xcode是工具,App架構是必須遵循的基本規則。

二、ios特色關鍵知識點

下列知識點大部分是ios特有的,在iOS 開發中起著非常重要的作用,需要仔細學習領會。其中藍色字體為蘋果官方提供的相應技術指南文件,對這些知識點均做了全面深入的闡述,是ios開發人員學習的第一手資料。

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

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

3..目標/動作(Target/Action):Target-Action in UIKit

4.沙盒技術:App Sandbox Design Guide

5.MVC架構:Concepts in Objective-C Programming;Design Guidelines for MVC Applications

6.iCloud存儲:Transferring Data to and from iCloud

7.塊(Block):Creating a Block;

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

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

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

上述知識點1-5是基礎性的,6~10是提高性的。理解和掌握了這些知識點才能更加靈活和有效地進行ios開發。除了上述技術指南外,下列基礎性的技術指南也建議開發者認真學習:

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技術體系按照官方說法分為下列四層:

圖2:ios技術層次結構

這些技術被打包成現成的Framework,供開發者直接調用。ios10共有91個Framework,按照其功能可以分成基礎類(Foundation)、數據類(DATA)、網絡類(NET)、圖形動畫類(GRAPH)、音視頻類(AV)、系統類(SYSTEM)、蘋果特定業務接口類(ASI)、測試類(TEST)共八個類別。按照其難易程度可以分為初級、中級和高級。具體分布如下圖(圖中數字為該類型和等級Framework數量):

圖3:ios Framework分類與分布

學習ios開發應由淺入深,循序漸進。掌握了初級框架就可以編寫簡單的ios程序了,包括簡單的本地數據、圖片、照片、音視頻、地址簿、郵件、日程等的讀寫和顯示。中級框架涉及面最廣,包括所有類型框架,這里FOUNDATION、DATA、NET和TEST類又是基本的,涉及復雜數據類型、文件、數據庫、各種網絡連接、單元測試等,應盡量全面掌握,其它類型的框架可以根據興趣或工作任務逐漸去學習或掌握。高級框架以圖形、音視頻內容為主,主要是提供了更低層和更靈活的硬件操作接口。僅在必要時再去深入學習即可。由此可見,一個初級ios開發者應掌握至少15個框架,一個中級ios開發者應掌握40~50個框架,一個高級ios開發者應掌握50~60個框架(至少包含10個高級框架)。具體各Framework的功能和分類見下表:

表1:iOS Framework 分類和簡述

綜上所述,ios開發最基礎的就是Objective-C或Swift語言、Foundation和UIKit框架中的基本內容及Xcode的簡單使用;進一步就是數據庫、網絡、圖形動畫、音視頻、系統安全和ios專用業務接口(如地圖、加速器、健康、語音識別、Web.....)的調用和多線程的使用,此時對Xcode使用會增加單元測試、性能調優、Bug追蹤等高級功能;最終達到能使用低層的Framework或動態庫優化硬件性能或靈活處理復雜業務的目標。

ios開發學習的最好資料就是蘋果的官方文檔,包括各種技術指南、API參考文檔和示例程序(Sample Code),要想成為高手,沒有捷徑,必須靜下心來一點點看。本文只是將其做了一個分門別類的索引和說明,按照這個索引和自己的目標循序漸進地學習,你一定會更快、更好地成為ios開發高手!

以上所言均為個人學習體會,難免疏漏,不當之處敬請批評指正!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容