天天看點

iOS - OC iOS 開發體系1、iOS 開發技術體系

iOS 開發技術體系圖:

層級

主要架構

Cocoa Touch

UIKit 等

Media

Core Graphics 、OpenGl ES、Core Animation 等

Core Services

Core Data、Foundation 等

Core OS

Accelerate Framework、External Accessory Framework、Security Framework、System 等

從圖中可以看到,要想編寫成型的産品,需要的不僅僅是語言本身,同時許多庫需要協同使用。語言隻是産品開發的“膠水”,而架構和上面的這些庫才是 iOS 産品的骨架。Swift 語言能夠無縫的調用所有庫。

Cocoa 是蘋果開發體系的統稱,Cocoa 包含一些主要的 OC 對象庫,我們稱這些對象庫為架構。架構是由許多類、方法、函數和文檔按照一定的邏輯組織起來的集合,以使研發程式更容易。為所有程式開發奠定基礎的架構稱為 Foundation 架構。

術語 Cocoa:是指 Foundation 、Core Data 和 AppKit(Application Kit) 架構架構。用于 Mac OS X 裝置上的應用程式開發。

術語 Cocoa Touch:是指 Foundation 、Core Data 和 UIKit 架構。用于 iOS 裝置上的應用程式開發。

1)Core OS 核心層:

包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等幾個架構,基本都是基于 C 語言的接口。

是最接近于作業系統的一層,在這個層次上,主要實作硬體以及作業系統接口封裝。

2)Core Services 核心服務層:

包含 Address Book Framework、CFNetwork Framework、Core Data Framework、Core Foundation Framework、Core Location Framework、Core Media Framework、Core Telephony Framework、Event Kit Framework、Foundation Framework、Mobile Core Services Framework、Quick Look Framework、Store Kit Framework、System Configuration Framework、Block Objects、Grand Central Dispatch、In App Purchase、Location Services、SQLite、XML Support 等一些架構,也基本都是基于 C 語言的接口。

Foundation 架構提供了字元串、數值的管理、容器及枚舉、分布式計算、事件循環、URL 與資料流操作、國際化,以及其他與圖形使用者界面沒有直接關系的功能。其中類和常數常用“NS”字首來标志。

Core Data 架構主要在資料模型、資料存儲方面發揮作用。在程式運作的時候,Core Data 架構會建立并管理資料模型的執行個體,同時還對外提供資料模型通路接口。除此之外,Core Data 還可以将對象資料存儲在 SQLite 資料庫以獲得性能優化、管理 undo/redo(撤銷/重做)等操作,還支援在記憶體中對資料進行歸類、過濾及組織資料。

3)Media 媒體層:

包含 Core Graphics、Core Animation、OpenGL ES、Core Text、Image I/O、Assets Library Framework、Media Player Framework、AV Foundation、OpenAL、Core Audio Frameworks、AV Foundation、Core Media 等等。

媒體層包含圖形技術(包含動畫技術)、音頻技術和視訊技術,可以使用這層的技術更快速的建立進階的圖形和動畫,友善的獲得音頻、視訊的支援。

圖形技術:是 iOS 應用程式的重要組成部分。建立應用程式最簡單、最有效的方法是使用事先渲染過的圖檔,搭配上标準視圖以及 UIKit 架構的控件,然後把繪制任務交給系統來執行。

Core Graphics :也被稱為 Quartz,用于處理本地 2D 向量渲染和圖檔渲染。

Core Animation :Quartz Core 架構的一部分,為動畫視圖和其他内容提供更進階别支援。

OpenGl ES :為使用硬體加速接口的 2D 和 3D 渲染提供支援。

Core Text :提供一個精密的文本布局和渲染引擎。

Image I/O :提供讀取及編寫大多數圖形格式的接口。

Assets Library framework :資産庫架構,用于通路使用者照片庫中的照片和視訊。

音頻技術:iOS 音頻技術可以用來播放或錄制高品質的音頻,也可以用于觸發裝置的震動功能。

媒體播放器架構:是可以拿來即用的播放器。

AV Foundation :提供用于管理音頻的播放或錄制的接口。

Core Audio :可以使用此架構的接口播放系統的警報聲音、觸發的震動功能、管理多聲道的緩沖和播放、對音頻内容進行流化處理。

視訊技術:可用于播放應用程式包含的電影檔案以及來自網絡的資料流内容。如果裝置具有合适的視訊硬體,這些技術也可以用于捕捉視訊,并可将捕捉到的視訊內建到應用程式。

媒體播放器架構:可用于播放應用程式中全屏或部分屏的電影。

AV Foundation :可以對電影的捕捉和播放進行管理。

Core Media :對較進階架構使用的底層類型進行描述,同時也提供一些底層接口,用于對媒體進行處理。

4)Cocoa Touch 觸摸層:

包括 Address Book UI Framework、Event Kit UI Framework、Game Kit Framework、iAd Framework、Map Kit Framework、Message UI Framework、UIKit Framework 等等,這一層基本都是基于 Objective-c 的接口。

包含了用于 iOS 應用開發的圖形界面建構的類。其中所有的類,都以“UI”為字首。

繼續閱讀