3 苹果开发人员技术文档连载之-系统架构

Cocoa

Cocoa应用程序环境基于两个面向对象框架:Foundation 基本框架(Foundation. framework)与 Application Kit 应用程序工具箱框架(AppKit.framework) 。这些框架都提供了面向Java和Objective-C的API(其中大部分的Java类只是简单地“桥接”了他的Objective-C实现) 。

对与核心服务层和应用服务层的各自关系来说,Foundation 与 Application Kit在某些方面有着相似之处 。Foundation框架中的类提供了不对用户界面产生影响的对象和功能;Foundation框架直接基于Core Foundation 。而 Application Kit 中的类提供了所有能够影响用户界面上所呈现内容的对象和动作,例如:窗口和按钮、对鼠标和键盘的响应 。Application Kit 直接依赖于Foundation框架 。

Foundation框架的类可归为以下几种类别:

·用于基本编程类型和操作的对象包装(或“助手(helper)”),包括:字符串、数组、字典、数字、字节交换、解析和异常处理等 。
·用于内核环境实体和服务的对象包装,例如任务、端口、运行循环、计时器、线程和锁 。
·对象相关功能,尤其是内存管理(自动释放缓冲区),远程调用、存档和串行化 。
·文件系统和I/O功能,包括了URL处理、文件查找和代码以及本地化资源的动态装载 。
·其他服务,例如分布式通知、取消(和重做)、格式化数据、使用系统日期和时间 。

正如所期待的一样,许多Application Kit类被设计成用于创建和管理显示在图形用户界面上的对象 。在这些类中,包括了窗口、对话框、按钮、图表、文本框、滚动条、弹出式菜单、滚动图、应用程序(下拉)菜单,甚至是用于QuickTime流的电影播放界面 。

然而,Application Kit所拥有的特性与功能使得它远比作为一个用户界面对象的类集合更为有用 。

·它有着对事件处理、应用程序管理与文档管理的成熟机制 。
·它提供了对色彩、字体和打印进行管理与整合的应用方式(甚至提供了针对这些功能的对话框) 。
·它允许以许多不同的图形格式来合成图像,还为绘画、矢量图处理提供了框架 。
·它具有针对拼写检查、拖拽和复制粘贴等操作所提供的工具 。

其他的 Cocoa 框架还能用于支持脚本、网络管理和其他用途 。

Cocoa包罗框架(Cocoa.framework)中引入了Foundation框架和Application Kit框架 。如果您正在编写一个应用程序,可以连接Cocoa框架 。而如果您正在编写一个没有图形用户界面的Cocoa程序(例如:后台服务器),那么您至少需要连接Foundation框架 。


JAVA

Java应用程序环境允许您在Mac OS X上开发和执行Java程序,包括100%的纯Java应用程序和applets 。该环境由一个统一的工业化标准所实现--那就是包括了Java虚拟机(VM)在内的最新版本的Java开发工具(JDK) 。因为这个原因,在该环境下生成的Java应用程序是可移植的 。你可以把它复制到一个硬件完全不同,操作系统也不同的机器上,只要该系统具有兼容的Java 虚拟机,您的应用程序就可以在该系统上运行 。另外,Java applet可以在任何性能合适的互联网浏览器中运行 。

注意:Cocoa应用程序环境中包含了适应Application Kit和Foundation框架的Java包 。这些包允许您使用Java作为开发语言来开发Cocoa应用程序 。(出于某种原因)您可以混合使用这些包里的API和本机Java API(不包括AWT或Swing API) 。关于Cocoa应用程序环境的更多内容,参见“Cocoa” 。另外,苹果公司的Jdirect和Sun公司的JNI(Java Native Interface)编程界面允许您的Java程序调用其他框架,包括Carbon 。并且您可以使用QuickTime for Javala来为Mac OS和Windows平台编写多媒体Java应用程序 。

推荐阅读