iOS 可以分類為 4 個層別 Layer。即:Cocoa Touch,Media 媒體,Core Service 核心服務,以及 Core OS 核心作業系統。[1]
Cocoa Touch 提供使用者控制介面基本物件,例如:按鈕 Button,標籤 Label 等。( UIKit,MapKit,GameKit,MessageUI / AddressBookUI / EventKitUI, Twitter,iAd)
Media 層負責圖像,影音播放,3D 圖像生成等。(AVFoundation ,CoreAudio,CoreImage,CoreGraphics,CoreText,ImageI/O,MediaPlayer,OpenGL ES,QuartzCore)
Core Services 層用來存取較低階的作業系統服務,例如檔案存取,網路,以及許多資料物件類型,我們可透過基礎套件 Foundation 來定義自根類別 NSObject 的所有物件。基礎套件也定義了建立,管理,以及在記憶體中釋放物件的協定 Protocol。(Accounts, AddressBook, CFNetwork, CoreData, CoreFoundation, Foundation, EventKit, CoreLocation, CoreMotion, QuickLook, StoreKit,System Configuration )
Core OS 層包含執行緒,複雜的數學,硬體配件及密碼學等。(Accelerate, ExtterAccessory,Security,System)
框架 Framework 是個工具箱 Tool Box,此工具箱由各種類別程式庫 Class Library 組成,作為開發 App 的基本套件。
Advanced Study
1. Cocoa 基礎指南:2. iOS 人機界面指南
Reference
1. https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/CoreServicesLayer/CoreServicesLayer.html
2. Cocoa Layered Architecture for Mac OS, http://www.knowstack.com/cocoa-layered-architecture-for-mac-osx/
/end
沒有留言:
張貼留言