iOS框架结构

原创 2015年11月18日 15:47:39

iOS框架结构


一 Cocoa 发展

早些年,苹果公司启动了Copland计划,致力于开发出自己的操作系统,可惜后来Copland计划逐渐的失控了,苹果公司最终决定放弃开发,转向从别的公司购买下 一个版本的Mac OS。

Cocoa 开始于1989年9月上市的NeXTSTEP 1.0,当时没有Foundation框架,只有动态运行库, 称为 kit, 最重要的是AppKit. 1993 年 NeXTSTEP 3.1 被移植到了 Intel, Sparc, HP 的平台上,Foundation 首次被加入,同时Sun 和 NeXT 合作开发OpenStep 也可以运行在Windows 系统上VCV。在经过调查现存的操作系统之后,苹果公司选择了NextSTEP,因为NeXTSTEP很小,苹果1996年收购了Next整个公司。关于Next公司以及这段历史,对乔帮主感兴趣的同学可以google一下。

NeXTSTEP内置许多库和工具,能让程序员以一种优雅的方式与窗口管理器进行交互,这些库叫做Framework,在1993年这些frameworks和工具被重新修改并重命名OpenStep,后来被重命名为Cocoa,大家应该知道为什么Cocoa的类都有着NS的前缀了吧。

二 框架结构介绍

Cocoa框架泛指苹果提供的开发API。首先我们要区分Cocoa是Mac OS X的开发环境,cocoa Touch是 Iphone OS的开发环境。下面是简单的区分:

  • 相同之处:两者都包含都有Foundation和Core Data框架
  • 开发Mac OS X系统的应用程序常用的两个框架为:Foundation和AppKit框架
  • 开发iPhone OS 系统的应用程序常用的两个框架为:Foundation和UIKit框架

下面我们主要来看开发iPhone OS 层的应用层次架构。

iOS的系统架构分为四个层次:

  • 核心操作系统层(Core OS layer): 位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。

  • 核心服务层(Core Services layer) : 核心服务层,我们可以通过它来访问iOS的一些服务。

  • 媒体层(Media layer): 通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。

  • 可触摸层(Cocoa Touch layer) : 最上面一层是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。

Cocoa

上面也提到了iPhone手机客户端开发我们常使用的两个框架就是
Foundation和UIKit框架,下面我们就具体来看一下这两个框架。

(1)Foundation框架:
Foundation框架包含所有和界面显示无关的类,提供OC的基础类(像NSObject)、基本数据类型等。比如很多开发中熟悉常用的字典,数组,结构体,枚举,创建的类….。

(2)UIKit框架:包含实现图形的、事件驱动的用户界面需要的所有对象:窗口、对话框、按键、菜单、 滚动条、文本输入框 …. 其组织架构如下图:

Cocoa

三 iOS 常用基础框架

框架名称

功能

Foundation

提供OC的基础类(像NSObject)、基本数据类型等

UIKit

创建和管理应用程序的用户界面

QuartzCore

提供动画特效以及通过硬件进行渲染的能力

CoreGraphics

提供2D绘制的基于C的API

SystemConfiguration

检测当前网络是否可用和硬件设备状态

AVFoundation

提供音频录制和回放的底层API,同时也负责管理音频硬件

CFNetwork

访问和配置网络,像HTTP、FTP和Bonjour Services

CoreFoundation

提供抽象的常用数据类型,如Unicode strings、XML、URL等

CoreLocation

使用GPS和WIFI获取位置信息

 

 

GameKit

为游戏提供网络功能:点对点互联和游戏中的语音交流

AddressBook

提供访问用户联系人信息的功能

AddressBookUI

提供一个用户界面,用于显示存储在地址簿中的联系人信息

AudioToolBox

提供音频录制和回放的底层API,同时也负责管理音频硬件

AudioUnit

提供一个接口,让我们的应用程序可以对音频进行处理

MapKit

为应用程序提供内嵌地图的接口

MediaPlayer

提供播放视频和音频的功能

MessageUI

提供视图控制接口用以处理E-mail和短信

OpenGLES

提供动画特效以及通过硬件进行渲染的能力

StoreKit

为应用程序提供在程序运行中消费的支持

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS开发UI篇—APP主流UI框架结构

一、简单示例 说明:使用APP主流UI框架结构完成简单的界面搭建 搭建页面效果:                                  二、搭建过程和注意点 1.新建一...

框架结构简图的模式识别

  • 2015年12月16日 23:54
  • 160KB
  • 下载

框架结构的优化设计

  • 2014年05月14日 19:11
  • 2.35MB
  • 下载

Spring3.0框架结构

原文:http://chenchh.iteye.com/blog/675701 Spring 框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块。这些模块分为Core Con...
  • liou825
  • liou825
  • 2014年01月23日 10:46
  • 3407

css基本框架结构 very good

  • 2015年08月09日 14:57
  • 2KB
  • 下载

个人框架结构网站代码

  • 2008年12月03日 19:40
  • 13.19MB
  • 下载

高精度定时器在mips上的框架结构

大体流程: run_timer_softirq hrtimer_run_pending hrtimer_switch_to_hres tick_setup_sched_timer hrti...

HTML基础标签和框架结构

HTML的基础标签:     1.注释
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS框架结构
举报原因:
原因补充:

(最多只允许输入30个字)