本文是 Palm OS 5 版本的开发概述。本文旨在向你介绍 Palm OS 5 的新的体系结构、演示如何保证你的应用程序和新的硬件平台的兼容性以及介绍一些可用于你的应用程序的新功能。
1.1. 内容简介:
介绍
发布时间表
基于 ARM 处理器的 Palm OS
Palm 应用程序兼容性环境
Palm OS 仿真器
安全 API
高密度 API
性能
支持 ARM 原码
采样声音 API
Mac OS 管道开发工具( CDK
Windows 管道开发工具( CDK )
Palm 桌面软件的可扩展性框架
1.2. 介绍
本文是 Palm OS 5 版本的开发概述。本文旨在向你介绍 Palm OS 5 的新的体系结构、演示如何保证你的应用程序和新的硬件平台的兼容性以及介绍一些可用于你的应用程序的新功能。
在硬件设备上市之前, Palm OS 5仿真器 是主要的测试工具,可以到 仿真器 页面去下载仿真器的发行版本。测试你的应用程序以及快速地修改应用程序中的错误是非常重要的,这样做让你就能够确信你的应用程序是和 Palm OS 许可商推出的 Palm OS 5 设备是兼容的。这里有一些 Palm OS 5测试范例 ,可用于你的测试过程。
注意:本文不是整个 Palm OS 的概述,仅仅是指那些在 Palm OS 5 版本中新增的和经过明显改动的功能。如果你正在找关于 Palm OS 编程的介绍的话,请访问 开始 页面。此外,这也是一个概述。正式的文档里会详细阐述这里的每一个主题,访问 http://www.palmos.com/dev/support/docs/ 可以找到最新发布的文档,或者访问 资源馆 页面的开发者种子版块找到更新的、预发布的文档。
Palm OS 5 中最大的一个变化是它运行于 新的硬件平台 ,采用来自产业领导厂家 (例如英特尔、摩托罗拉以及德州仪器)生产的 ARM 系列处理器。这样能够保证在维持低费用、低功耗、易于使用和外观因素等已经让 Palm OS 设备风靡世界的特色的前提下,让 Palm OS 平台的速度和性能以及开发者开发的软件得到非常巨大的改进。
甚至在全新的硬件上,现有的 Palm OS 4.0 的应用程序可以不需要任何改动就能够运行,并且能够在老的和新的设备间共享数据。这是由 PACE 来实现的。 “Palm应用程序兼容性环境 ( PACE )能够保护开发者和用户的软件投资,并且为新的硬件提供非常强大的兼容性和转换途径。因为操作系统和 PACE 都是用 ARM 原码编写的,而且应用程序调用的每一个操作系统 API 都是以原码的方式全速运行的,所以运行于 PACE 之上的应用程序的速度能够得到很好的提升,并且可以使用高密度屏幕 (如果存在的话)。
新的开发工具 A HREF="#PalmSim">Palm OS 仿真器可用于测试和调试基于 Palm OS 5 的应用程序。 Palm OS 仿真器和 Palm OS 模拟器由很多相似的地方,比如都是运行在桌面系统之上、都有一个运行 Palm OS 的设备的窗口。但是 Palm OS 仿真器也有一些不同的、新的调试功能。仿真器是 Palm OS 5 作为一个 Windows 应用程序在本地运行的一种实现,和现有的模拟器一起将会成为一种主要的开发工具。模拟器和仿真器使用相同的调试协议,所以应用程序可以在两者上使用现有的开发工具(比如 Metrowerks CodeWarrior 版本 7 和 8 以及 PalmDebugger )来测试。
Palm OS 5 包含功能强大且和标准的 A HREF="#Security"> 安全 API ,包括 128 位 RC4 、 SHA1 和 RSA 校验密钥算法以及 SSL 3.0/TLS 1.0 服务。
Palm OS 平台现在也支持 高密度屏幕 (使用现有窗口管理器函数的扩展)。这些 API 可以用于多种屏幕分辨率, Palm OS 仿真器可以用来在 320×320 像素模式下测试应用程序,提供 4 倍于以前操作系统 API 支持的屏幕大小的屏幕。使用窗体、字体等标准 API 的应用程序能够在不需要任何代码修改的情况下,自动适应于高密度字体和图像操作。
运行于 PACE 下的现有应用程序的 性能 一般来说会得到显著的提高,提高的程度取决于包括运行 Palm OS 5 的设备的硬件性能和应用程序执行的详细情况在内的很多因素。在某些情况下,如果某些应用程序中时间很关键部分处于 “ 最坏情形 的情况和存在性能问题时,这些应用程序可以考虑利用运行 ARM 原码提供的优良的性能。
假设所使用的设备具备合适的硬件的话,那么应用程序可以使用新的声音管理器 API 来播放和记录采样的声音。
Palm OS 5 的管道技术并没有明显的改动,但 Mac CDK 和 Windows COM Sync Suite 更新了,其技术已和现有的 CDK 技术一致了。 Mac CDK 支持兼容 Mac OS 9 和 Mac OS X 的管道开发。另外,同步管理器 API 已经被扩展了,用户管理器 API 已经移植到 Mac OS 中, Mac OS X 的 HotSync 用户界面也美化了。 Windows 管道开发工具( CDK )也为 Visual Studio.NET 添加了新的向导。 COM Sync Suite 支持大家熟悉的用户数据、 HotSync API 和管道管理器等的 API 。
现在 Palm 桌面软件提供一种允许开发者集成、扩展和访问 Palm 桌面软件的 可扩展性框架 。开发者可以使用 COM 接口把 Palm OS 解决方案的桌面软件部分直接集成到 Palm 桌面软件中。
1.3. Palm OS 5 发布时间表
Palm OS 5 已经完成并且全部软件都已经交付给了许可商。 Palm OS 许可商已经使用 Palm OS 5 早期版本进行了几个月的研发,并且正在生产基于 Palm OS 5 的硬件设备。但是 PalmSource 公司不能够公布新设备的上市时间和新设备的功能,请联系 Palm OS 许可商来获得他们将来的设备计划的信息。
现在开发者可以下载 Palm OS 仿真器和最终版本的 Palm OS 5 SDK 。仿真器是一个 Palm OS 5 基于 Windows 本地编译的独立的应用程序,它是非常理想的用于测试应用程序从而保证兼容性的工具。
PalmSource 公司总是会在操作系统发布之前和软件以及硬件开发者进行长时间合作,从而保证对于用户和开发者来说是一个平滑的过渡。 2000 年 12 月第一次公开展示了运行于 ARM 处理器的 Palm OS ,数百名开发者参加了于 2001 年 12 月举办的详细的研讨会( “Syncups )。在这次研讨会上,开发者获得了关于 Palm OS 5 更加深入的信息,并且开始使用仿真器进行开发。在 2002 年 2 月举办的 PalmSource 开发商大会上,仿真器得到了广泛的推广,提供了很多的 ARM 平台可以供开发者使用。
1.4. 基于 ARM 处理器的 Palm OS
Palm OS 5 运行于新的硬件之上的、完全基于 ARM 的 32 位的操作系统。因为处理器速度的提高、 PalmOS 效率的提高以及软件性能的增强(比如高密度窗口管理器),现有的适合 Palm OS 5 的数千种软件将会比以前运行得更好。
选择 ARM 芯片有几个原因(其中最主要的原因是 ARM 芯片具有非常广泛的速度、惊人的每瓦特 MIPS 率),很好的成本效益和能够与许可商想要在设备中添加的硬件很好地集成。有几家供应商可以提供 ARM 芯片, 这样许可商、开发者和用户可有多种选择并可鼓励他们进行创新。
所有支持的 ARM 芯片都属于 4T 结构体系的范畴。开发者的应用程序不必知道运行于何种 ARM 芯片,因为操作系统把开发者和具体的硬件隔离开了,所以应用程序不需要进行重新编译。 ARM 芯片和 Palm OS 最初采用的摩托罗拉龙珠系列芯片(通常称为 68K )完全不一样:使用完全不同的指令集,在其它方面也有很大的不同,比如结构封装和整型数字节的排列。 PACE 可以让已经开发好的 68K 应用程序在 Palm OS 5 和将来的版本上运行就像在 Palm OS 3.x 和 4.x 设备上运行一样,不需要根据新的硬件进行任何改动。
在 Palm OS 5 中,除了 PACE 下的应用程序之外,任何程序都是以 ARM 原码的方式运行的。这就意味着,因为大多数应用程序的运行时间都是在调用操作系统的函数,所以在任何情况下都能够获得高性能。
运行于 Palm OS 5 上的应用程序的数据和参数格式和以前一样,所以在新旧设备进行交互时,不会存在兼容性和数据交换问题。 PACE 下应用程序中所有可见的保存的数据和内存中所有的对象都是 big-endian 模式的,和在 68k 设备上一样。 在调用操作系统程序时, PACE 会根据需要处理字节顺序的转换。所以,不必改动应用程序来处理 ARM 芯片中新的字节顺序和结构封装。
除非开发者需要把加强性能的代码转换成 ARM 原码模块(后面会阐述),否则开发者都可以使用现有的软件开发工具和集成开发环境( IDE )来创建运行于 Palm OS 5 之上的应用程序。 PalmSource 公司将会在 2002 年推出很多新的开发工具,并且支持完全 ARM 原码的应用程序开发,但是大多数开发者将会发现,在中短期时间内,使用现有的工具和运行于 PACE 之上是正确的选择。
1.5. Palm OS 应用程序兼容性环境 ( PACE )
那些现有的采用 Palm OS 4.0 正式发布的 API 、没有假设硬件、没有使用不支持的操作系统结构、运行于调试版本 ROM 的模拟器之上的应用程序通常都可以在 Palm OS 5 设备上正常运行。这是因为 PACE 解释了现有应用程序的 68k 指令,让它们能够在 ARM 处理器上运行。
PACE 没有模拟 68k 芯片和其它硬件,它也不运行以前的操作系统。 PACE 解释 68k 指令,并且通过调用 Palm OS 5 系统程序来处理 68k 指令(应用程序用来调用操作系统 API )。所以 PACE 对于内存和处理功耗都是非常有效率的,大多数开发者将会发现他们的应用程序和调试器能够像以前一样正常运行,除了速度上有区别之外。
但是,那些 “ 切入( hacked ) 68k 操作系统、访问不支持的结构以及对硬件进行假设的应用程序的代码很可能不再像所想要的那样正常运行了。 PACE 会处理那些运行于 Palm OS 5 之上的、支持的函数和结构,而且将来不管操作系统如何发展, PACE 仍然会这么做。但是 PACE 不能正确处理那些含有不被支持的函数和结构的程序。 PalmSource 公司多年来一直建议开发者不要访问不被支持的结构,这样做的话能够保证他们的应用程序在 PACE 上正常运行。有的时候一个应用程序的错误会导致无意之中访问了一个操作系统的结构;由于 C 编程语言的工作原理,所以很难预先发现这样的错误,但是一旦在仿真器上发现了这样的错误的话,就可以很快地更正它。