Cocoa和Cocoa Touch介绍

来源:互联网 发布:1.5v单片机 温湿度测量 编辑:程序博客网 时间:2024/05/21 07:02

cocoa与cocoa Touch区别之分:

  • 两者都包含OC运行时的两个核心框架
  • cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序
  • cocoa touch包含Foundation和UIKit框架,可用于开发iPhone OS 系统的应用程序
  • Cocoa是Mac OS X的开发环境,cocoa Touch是 Iphone OS的开发环境

框架:

  • Foundation框架实现了NSObject类(即根类),这个类定义基本对象行为,此外,该框架还实现了用于表示基本类型(例如,字符串和数字)和群体类型(例如数组和字典)的类,同时也提供一些基本工具,例如用于国际化,对象持久化,文件管理以及XML文件处理的工具。您还可以使用Foundation框架中的类访问底层系统的实体和服务,例如可以用它来访问端口、线程、锁和进程。Foundation框架以Core Foundation框架为基础。Core Foundation框架提供的是过程花(ANSI C)接口。
  • AppKit和UIKit可以被用来开发应用程序的接口。二者用途相同,只是平台不同。框架中的类很多,各种不同用途:有的用于事件处理,有的用于画图,有的用于图像处理,有的用于文本处理,有的用于用户排版,还有用于应用程序之间的数据传输。框架中还包含表视图、滑动条、按键、文本字段以及警告对话框等用户的接口元素

注意:Cocoa经常被用于泛指所有基于Objective-C运行时且派生自根类(NSObject)的类或对象

Objective- c(Swift)是开发Cocoa和Cocoa Touch应用程序的本地语言。但是Cocoa和Cocoa TOuch应用程序也可以包含C++和ANSI C代码,另外您也可以使用桥接(_bridge)Objective-C运行时的脚本语言,例如PyObjC和RubyCoco——开发Cocoa应用程序。

讲解:

Cocoa实际上由三个框架组成:

  1. Foundation框架;
  2. 便于使用数据库存储和管理数据的Core Data框架;
  3. Application Kit(AppKit)框架。

Cocoa Touch实际上由三个框架组成:

  1. Foundation框架;
  2. 便于使用数据库存储和管理数据的Core Data框架;
  3. UIKit框架。

下面这个图把mac的架构分了四个部分:

  1. User Experience,这个一般可以理解为Application,
  2. Application Frameworks,这个理解为主要包括像cocoa这样的组件。
  3. Graphics and Media,这个理解为Application service和Core Service。
  4. Darwin,这个就是Mac OS X的kernel。

下面这个图省去了Application和kernel,主要包括三个层次:

  1. Cocoa,
  2. Application Services,
  3. Core Services。

下图呢,也差不多,多了一个BSD,这玩意可以理解为命令行:

Cocoa Touch框架

iOS 应用程序的基础 Cocoa Touch 框架重用了许多 Mac 系统的成熟模式,但是它更加专注于触摸的接口和优化。UIKit 为开发者提供了在 iOS 上实现图形,事件驱动程序的基本工具,其建立在和 Mac OS X 中一样的 Foundation 框架上,包括文件处理,网络,字符串操作等。

各色俱全的框架:除了 UIKit 外,Cocoa Touch 包含了创建世界一流 iOS 应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问 API 以控制摄像头,或通过 GPS 获知当前位置。Cocoa Touch 既包含只需要几行代码就可以完成全部任务的强大的 Objective-C 框架,也在需要时提供基础的 C 语言 API 来直接访问系统。这些框架包括:

  • Core Animation:通过 Core Animation,您就可以通过一个基于组合独立图层的简单的编程模型来创建丰富的用户体验。
  • Core Audio:Core Audio 是播放,处理和录制音频的专业技术,能够轻松为您的应用程序添加强大的音频功能。
  • Core Data:提供了一个面向对象的数据管理解决方案,它易于使用和理解,甚至可处理任何应用或大或小的数据模型。

下面是 Cocoa Touch 中一小部分可用的框架:

1.音频和视频

  • Core Audio
  • OpenAL
  • Media Library
  • AV Foundation

2.数据管理

  • Core Data
  • SQLite

3.图形和动画

  • Core Animation
  • OpenGL ES
  • Quartz 2D

4.网络

  • Bonjour
  • WebKit
  • BSD Sockets

5.用户应用

  • Address Book
  • Core Location
  • Map Kit
  • Store Kit
0 0
原创粉丝点击