iOS系统架构层次图

iOS系统架构层次图

iOS系统架构层次图_第1张图片
Snip20160902_256.png

Cocoa Touch:

框架基于 iPhone OS应用层直接调用层,如触摸事件、照相机管理等。

  • 包括以下这些组件:
  • UIKit
  • MapKit
  • Multi-Touch Events
  • Core Motion
  • Camera
  • View Hierarchy
  • Localization
  • Alerts
  • Web Views
  • Image Picker
  • Multi-Touch Controls

Media

该层框架和服务依赖Core Services层,向Cocoa Touch层提供画图和多媒体服务,如声音、图片、视频等。

  • 包括以下这些框架或组件:
    • Core Audio
    • OpenGL
    • Audio Mixing
    • Audio Recording
    • Video Playback
  • JPG
  • PNG
  • TIFF
  • PDF
  • Quartz
  • Core Animation
  • OpenGL ES

Core Services

提供核心服务,如 字符串处理函数、集合管理、网络管理、URL处理工具、联系人维护、偏好设置等。

  • 包括以下这些框架或组件:
  • Core Foundation (框架里面封装了好多NS开头的类)
  • Foundation(框架里面封装了好多NS开头的类)
  • CloudKit
  • HealthKit
  • HomeKit
  • Collections
  • Address Book
  • Networking
  • File Access
  • SQLite
  • Core Location
  • Net Services
  • Threading
  • Preferences
  • URL Utilities

Core OS

最底层的核心操作系统层

  • 该层包含以下框架:
  • Accelerate 加速框架
  • Core Bluetooth Framework(核心蓝牙框架)
  • External Accessory Framework(外部附件框架)
  • Generic Security Services Framework(通用安全服务框架)
  • Security Framework(安全框架)
  • System
  • 64-Bit Support

文件系统、网络基础、安全特性、能量管理、和一些设备驱动、及系统级别的API;包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互

核心操作系统层包括以下这些组件:

  • OS X Kernel
  • Mach 3.0
  • BSD
  • Sockets
  • Power Mgmt
  • File System
  • Keychain
  • Certificates
  • Security
  • Bonjour

拓展

  • 音频和视频
    Core Audio:它是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
    OpenAL
    Media Library
    AV Foundation

  • 数据管理
    Core Data:提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。

SQLite

  • 图形和动画
    Core Animation:通过 Core Animation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
    OpenGL ES
    Quartz 2D

  • 网络
    Bonjour
    WebKit
    BSD Sockets

  • 用户应用
    Address Book
    Core Location
    Map Kit
    Store Kit


低层次框架提供IOS的基本服务和技术,高层次框架建立在低层次框架之上用来提供更加复杂的服务和技术,较高级的框架向较低级的结构提供面向对象的抽象。

Foundation和 UIKit框架是应用编程用到的两个主要的框架,能够满足大多数应用程序的开发需求。

UIKit(。所有 iOS 应用程序都是基于 UIKit, 没有这个框架,就无法交付应用程序。UIKit提供应用程序的基础架构,用于在屏幕上绘图、处理事件,以及创建通用用户界面及其中元素。UIKit还通过管理屏幕上显示的内容,来组织应用程序。

Foundation( UIKit和其他框架,都是建立在 Foundation 框架的基础结构之上。 Foundation框架提供许多基本的对象类和数据类型,使其成为应用程序开发的基础。它还制定了一些约定(如用于取消分配等任务),使代码更加一致,可复用性更好。

你可能感兴趣的:(iOS系统架构层次图)