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 設備上的應用程序開發。

一、Core OS 核心層:

  • 包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等幾個框架,基本都是基於 C 語言的接口。
  • 是最接近於操做系統的一層,在這個層次上,主要實現硬件以及操做系統接口封裝。

二、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(撤銷/重作)等操做,還支持在內存中對數據進行歸類、過濾及組織數據。

三、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 :對較高級框架使用的底層類型進行描述,同時也提供一些底層接口,用於對媒體進行處理。

四、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

  • 包含了用於 iOS 應用開發的圖形界面構建的類。其中全部的類,都以「UI」爲前綴。
相關文章
相關標籤/搜索