Cocoa/Cocoa Touch

来源:互联网 发布:linux编译多个c程序 编辑:程序博客网 时间:2024/04/30 13:28

前言


Cocoa包含Foundation和AppKit(Application Kit)框架,用于开发Mac OS X系统的应用程序.

Cocoa Touch则是他的一个子类,包含Foundation和UIKit(UserInterface Kit)框架,他所支持的Foundation框架与Cocoa相同,但他的用户图形类库为UIKit,为iOS系统设计,提供了iOS的界面,用于开发iPhone OS系统的应用程序.细心的朋友在这里也不难看出:

这里写图片描述
这里写图片描述

Foundation:

⭐️Foundation框架实现了NSObjec类(即根类),这个类定义基本对象行为.此外,该框架还实现了用于表示基本类型(例如,字符串和数字)和群体类型(例如,数组和字典)的类,同时也提供一些基本工具,例如用于国际化、对象持久化、文件管理以及XML处理的工具.你还可以使用Foundation框架中的类访问底层系统的实体和服务,例如可以用它来访问端口、线程、锁和进程.Foundation框架以Core Foundation框架为基础,Core Foundation框架提供的是过程化(ANSI C)接口.

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

AppKit/UIKit:

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

⭐️AppKit和UIKit框架开发应用程序的用户接口.二者用途相同,但是针对平台不同.框架中的类很多,各有不同用途:有的用于事件处理、有的用于画图、有的用于图像处理、有的用于文本处理、有的用于用户排版、还有用于应用程序间数据传输.框架中还包含表视图、滑动条、按键、文本字段以及警告对话框等用户接口元素.

Cocoa与Cocoa Touch都包含Objective-C运行时和Foundation核心框架

Cocoa Touch构建基础


大部分 Cocoa Touch 的功能是用 Objective-C 实现的.Objective-C 是一种面向对象的语言,它编译运行的速度令人难以置信.更值得一提的是采用了真正的动态运行时系统,从而增添了难能可贵的灵活性.由于 Objective-C 是 C 的超集,因此您可以轻松地将 C 甚至是 C++ 融入 Cocoa Touch 应用程序中.

当应用程序运行时,Objective-C 运行时会根据执行逻辑(而不仅是编译期间定义的方式)实例化对象.例如,运行中的 Objective-C 应用程序可以载入界面(Interface Builder 创建的 nib 文件),将界面中的 Cocoa 对象连接到应用程序代码,然后在按下 UI 按钮后运行正确的方法.无需进行重新编译.

Cocoa Touch框架


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

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

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

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

语言


Objective-C是开发Cocoa和Cocoa Touch应用程序的本地语言,也是最重要的语言.但是Cocoa和Cocoa Touch应用程序也可以包含C++和ANSI C代码.另外,你也可以使用桥接Objective-C运行时的脚本语言—例如PyObjC和RubyCocoa—开发Cocoa应用程序.

iphone 技术层


⭐️Cocoa Touch 层由多个框架组成,他们为应用程序提供了核心功能.

⭐️UIKit 负责启动和结束应用程序,控制界面和多触点事件

⭐️Map Kit 提供地图的相关服务,定位或者区域检测等

⭐️Game Kit 创建和使用网络机制

⭐️Message UI/Address Book UI 提供操作电子邮件和联系人的信息

⭐️iAd 可以通过该框架在应用程序中发布横幅广告。在合适的时机向用户展现。

⭐️Event Kit UI 提供一个视图控制键可以展现查看并编辑事件的标准系统界面

0 0
原创粉丝点击