iOS开发笔记之十七——学习Cocoa和Cocoa Touch框架

1、框架层     

Cocoa是一种为Mac OS X应用程序提供丰富用户体验的框架,实际上是由3个框架组成:已知数值的Foundation框架,便于使用数据库存储和管理数据的Core Data框架,以及Application Kit(AppKit)框架。AppKit框架提供了与窗口、按钮、列表等相关的类。使用示意图来说明最顶层应用程序与底层硬件之间的各个层次,如图所示:

                                                        iOS开发笔记之十七——学习Cocoa和Cocoa Touch框架_第1张图片

(1)内核以设备驱动程序的形式提供与硬件的底层通信。它负责管理系统资源,包括调度需要执行的程序、管理内存和电源,以及执行基本的I/O操作。

(2)核心服务提供的支持比它上面的层次更加”核心“。例如,提供对集合、网络、调试、文件管理、文件夹、内存管理、线程、时间合电源的管理。

(3)应用服务层包含打印和图形渲染的支持,包括Quartz、OpenGL和Quicktime。

(4)Cocoa层位于应用程序之下。如图所示,Cocoa包括Foundation、Core Data和AppKit框架。Foundation框架提供处理集合、字符串、内存管理、文件系统、存档等相关的类。AppKit框架提供管理视图、窗口、文档和使Mac OS X闻名于世的多用户界面相关的类。

         根据上面的描述,有些层的功能似乎有重复。Cocoa层和核心服务层中都存在集合。然而。后者是前者的基础。此外,某些情形也可以绕过或者”桥接“到某一层。例如Foundatio中有些类,比如处理文件系统的那些类直接依赖核心服务层的功能,实际上绕过了应用程序服务层。

2、Cocoa Touch

      Cocoa框架应用与Mac OS X桌面与笔记本电脑应用程序的开发,而Cocoa Touch框架应用与iOS设备上应用程序的开发。Cocoa和Cocoa Touch都有Foundation和Core Data框架,然而在Cocoa Touch下,UIKit代替了AppKit框架,提供了很多相同的类型的对象支持、比如窗口、视图、按钮、文本域等。另外,Cocoa Touch还提供使用陀螺仪和加速器(它与GPS和WIFI信号一样都能跟踪你的位置)的类和触摸式界面,去掉了不需要的类。

      大部分Cocoa Touch的功能是用Objective-C实现的,除了UIKit之外,Cocoa Touch 包含创建世界一流 iOS 应用程序所需的所有框架,从 3D 图形、专业音频到网络,甚至提供特殊设备访问 API 以控制摄像机或从 GPS 硬件获取位置。Cocoa Touch 既包含只需要几行代码就可以完成全部任务的强大的 Objective-C 框架,也在需要时提供基础的 C 语言 API 来直接访问系统。这些框架示例包括:

Core Animation:通过 Core Animation,您就可以通过基于组合独立图层的简单编程模型来创建丰富的用户体验。

Core Audio:Core Audio 是播放、处理和录制音频的专业级技术,能够轻松为您的应用程序添加强大的音频功能。

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

3、参考资料

      部分摘录自《Objective-C程序设计(第4版)》——Stephen G. Kochan

      http://baike.baidu.com/view/4171808.htm?fr=aladdin




你可能感兴趣的:(iOS移动开发)