第十一章 工具和方法简介
我们已知道了系统臃肿是很危险的,现在就来讨论所有现成的工具和方法,或许可以防止使你成为一个更危险系统的提供者。或许你有一个具体的Palm OS应用程序,而没有所需的硬件资源,或许你的解决方法必须和Linux工具相联系,下面将介绍有关这些方面的信息。
因为在World Wide Web上,我们的知识变化得太快,所以先给出我的网址:
www.mykland.com/palmosbook/
在我的主页上提供了许多的信息,包括书的附录、其他我以前写的文档、例程和应用程序等等。更重要的是,我会及时更新在本书中所讲的内容。
Palm操作系统的开发工具
这一节将涉及到免费和非免费的主要开发工具,利用这些工具可以来开发Palm OS应用程序。表11介绍了这些工具的纲要,在后面我们将仔细讨论这些工具的使用。
CoderWarrior
名字 描述
CodeWarrior 在Mac OS和Win32平台上最流行的Palm OS系统集成开发环境
GCC/PRC工具 Palm OS的一个免费的编译连接器,高效但是难于使用。是UNIX用户的唯一选择。
Palm OS Emulator 一个对各个Palm OS版本提供广泛支持的全方位模拟器,能在Win32、Mac Os、Unix环境下模拟Palm OS,是调试应用程序的必备工具
Palm OS SDK 来自Palm Computing的一份包含最新支持代码和技术文档的免费工具套件
Pendragen Forms 一个非C语言的Palm OS开发环境。于
Satellite Forms相比由于使用的较差的用户接口,使得应用程序变得庞大臃肿,它的技术文档和,用户指南也不是高质量的。
PiLRC Palm OS一个免费的资源编译器。有许多人认为它比CoderWarrior资源构造器更加优秀
Satellite Forms 对非编程人来说,这是一个完美的开发工具,非常有利于快速开发。如果你想成为一个开发者,必须对它十分熟悉。但须为每个你所开发的Palm应用程序购买一个许可证,这使得开发变得比较昂贵。
CodeWarrior
对Palm操作系统来说,它是一个主要开发工具,用C语言可以非常方便和快捷写程序和调试程序。如果你是一个正规的Palm开发者,即使你在大多的时间并没有用到,你也应该拥有这个工具。CoderWarrior有Windows和MacOS两个版本。在本书中,用的就是这个工具。
开发者 Metrowerks,Inc
网址: www.metrowerks.com/
价格: 完全专业版$269左右
试用版: 在本书的背面的光盘上有CoderWarrior6 Lite,也可以从www.palm.com/devzone/tools/cw/免费下载
GCC/PRC-TOOLS
GCC/PRC-TOOLS首先是由Free Software Foundation开发,现在由EGCS Steering Committee管理。GCC被大多数人认为包含了最好的68K连接器,与其他非免费的工具相比,他编译连接生成的代码更快更少。
Pendragon Forms
这是一个用于Palm设备的非C开发环境,我曾有机会看到它在ACCESS 97 下的免费版本。
我相信程序员不难发现这个开发环境与Satellite Forms相比,使用起来比较困难;与Code Warrior 相比,它又缺乏个性和可用性,而且其与用户的接口也很难处理。并且它的文档和索引的质量也很差。
开发者 Pendragon Software Corporation
URL www.pendragon-software..com/
价格 $149
测试版 可以从www.pendragon-software.com/forms3/downloads.html免费下载
y
PilRC
PilRC是把程序文本转化为一个二进制图像的工具。该图像和GCC/PRC_Tools组件一起使用可做一个完整的Palm OS应用程序。这是个不错的工具,所以有人说它比Constructor还好。它不是画图工具,却包含了一个称为PilRCUI的浏览器,可以让你看到所编制的画面。如果在UNIX上运行或你有一个不能很好处理二进制文件的类似于SCCS的资源控制系统(source Control System),PilRC是必需的.
开发者 Aaron Ardiri
URL Www.hig.se/~ardiri/development/palmIII/pilrc/
价格 免费
测试版 N/A
Palm OS Emulator
在过去相当长的一段时间内,曾经只有在Mac OS平台下用户才能够运行Palm OS模拟器(一般简称为POSE),但是现在不同了,POSE的Windows版本也同样表现出了极好的运行特性,而且据说,POSE的UNIX版本也正在逐步的改进中。这个优秀的程序在桌面上几乎完全模拟了Palm设备内部的工作环境。你只需要一个Palm 的ROM文件就可以使它正常的运行,你可以从自己的Palm中得到一个ROM文件的拷贝。当然了,如果你签署了Palm Computing的一些协议,那么你就可以从他们的网站下载各种机型Palm的ROM文件了,这其中也包括了debug版本的ROM文件,这是你从任何一台Palm上都下载不到的。
作为调试工具,模拟器要优于一台真实的Palm设备,CodeWarrior的调试器(debugger)运行速度很快,即使从头到尾的遍历所有代码也用不了很长的时间,在模拟器中带有一个灵巧的调试特性叫做Gremlin,通过Gremlin你能够向Palm应用程序发送许多随机事件,它知道如何充分的控制和操作这些事件。Gremlin也可以用于测试用户自定义控件(Gadget)。它确实是可以发现许多你想不到的可以令你的机器崩溃的问题。本书所带的例子程序就是经过了1,000,000个以上的Gremlin事件测试的。但这并不是说Gremlins就能够完全代替功能性测试。
你或许能够找到其它的一些调试应用程序的方法,但是我敢打赌你在正式使用你的程序之前是一定会用模拟器来测试它的。
在Code Warrior中是这样使用POSE的
1. 在Code Warrior中选中Edit | Preferences菜单项
2. 在左边的目录树中选择Palm Connection S under Debugger
3. 在右边窗口的Target组何框中选中:Palm OS Emulator
4. 选中Always Launch Emulator 选择框
5. 点击Choose按钮,找到Emulator.exe
6. 点击Save按钮
7. 在确保模拟器没有运行的状态下,关闭IDE
8. 再次打开IDE时,模拟器就会跟着打开了。
开发者 Palm Computing, Inc.
URL www.palm.com/devzone/pose/pose.html
价格 免费
测试版 N/A
Palm OS SDK
这是Palm Computing为所有Palm开发者提供的基本开发文档和工具。只要加入Palm Computing的解决方案提供计划,你就可以免费的得到这个有用的工具套件。
开发者 Palm Computing, Inc.
URL www.palm.com/devzone/tools/
价格 免费
测试版 N/A
Satellite Forms
对于非程序员,这是一个很好的工具。相当多的非技术人员可以通过这个工具开发出一个合理的应用程序。它很容易使用,且相关文档也写得非常好。它是一个极快的控件组装的开发环境。
但它有两个缺点:对于超越直接和标准控件的开发,就只有专业的开发人员才能做到了;更不幸的是,对Palm OS 的每一个应用程序,都必须花钱去买许可证。这些限制条件就使得它不能应用于更复杂的应用程序和更广泛的应用。
开发者 Puma Technology
URL Www.pumatech.com/
价格 标准版$795,企业版$995,外加一人一个许可证费
测试版 从www.pumatech.com/trial-sf.html免费下载
Window Conduit 开发工具
这是Windows 95,98和NT开发管道(conduit)的相关工具的回顾。下表是这些工具的纲要:
名字 描述
CDK 从Palm Computing 可得到免费的标准管道开发包
CDK Java 版 从Palm Computing 可得到标准的管道开发包的Java版
Insider 帮助你检查Palm设备的数据库的便利的软件包
VisualCafe Professional Palm Computing CDK使用的Symantec公司开发的Java IDE
Visual C/C++ Palm Computing CDK使用的Microsofe公司开发的C++ IDE
CDK
这是Palm Computing提供的免费的管道(Conduit)软件包。它使用Microsoft的Visual C/C++,特别是MFC类库.
你可以完全不使用MFC,但若想做到这一点,你必须很谨慎操作。
开发者 Palm Computing,Inc.
URL www.palm.com/devzone/cdkjwin/cdkwin.html
价格 免费
测试版 N/A
CDK JAVA Edition
这是 Palm Computing 推出的JAVA版的免费标准管道开发软件包。它以Symantec公司的Visual Cafe Pro作为开发工具。我没用过这个开发包,虽然我希望你能顺利的使用这个工具,但文档上说它还没有在Sun公司的免费Java下测试过。
开发者 Palm Computing,Inc.
URL www.palm.com/devzone/cdkjava/cdkjava.html
价格 免费
测试版 N/A
Insider
这是一个便利的小工具,允许你检查Palm的数据库。通过这个工具,你甚至不必再需要Palm上的应用软件去确定你生成的数据库是否正确。
开发者 Sylvain Beaulis
URL www.iro.umontreal.ca/~beaulis/pilot.html
价格 $10
测试版 从www.iro.umontreal.ca/~beaulis/pilot.html免费下载
Visual Cafe Professional
这是一个好的Java 集成开发环境,使用它会感到十分方便。
开发者 Symantec.
URL Www.symantec.com/domain/cafe/index.html
价格 专家版是$95.95
测试版 无
Visual C/C++
这是Windows下的工业标准开发环境,虽然它并不是IDE中做的最好的,但很多人都懂得如何使用。最令人疯狂的是MFC类库,当错误很多时不要使用它。如果你想大量使用MFC,你应考虑使用一个内存调试工具,如NuMega BoundsChecker。
开发者 Microsoft
URL Msdn.microsoft.com/visualc/
价格 专家版是$95.95
测试版 无
Macintosh Conduit 开发工具
以下是在Macintosh下开发管道的相关工具的综述.
名字 描述
CDK Palm Computing公司的在MacOS下的开发管道的免费软件包
用于MacOS的Code Warrior MacOS开发的最流行的集成开发环境
CDK
这是MacOS开发管道的标准开发包。
开发者 Palm Computing,Inc.
URL www.palm.com/devzone/cdkmac/cdkmac.html
价格 免费
测试版 N/A
用于MacOS的CodeWarrior:
这是一个很受人喜欢的MacOS开发软件。
开发者 Metrowerks
URL www.metrowerks.com/desktop/mac_os/
价格 程序员喜欢的专家版是$404.95
测试版 无
外围设备
有很多Palm OS外围设备正在开发中。下面的产品都是已经开发出来的。
TRGpro卡
浏览www.trgpro.com/support/cf_compatible.html 网址可得到一张关于CompactFlash卡与TRGpro一起使用使用清单。这里有许多内存卡和一些其他设备,包括Pretec Compact Modem 56k、Socket通信串口I/O CF+卡以及Communications Bar Code Wand CF+卡等。
Visor 卡
浏览www.handspring.com/products/modules.asp可得到有关新的跳板模块的信息。目前有8M闪存模板、备份模板和一些游戏的信息。
一般的外围设备
Palm Computing 自己有售各种外围设备、键盘和Modem等。另外你也可从LandWare(www.landware.com/)和iBiz(www.ibizcorp.com/)得到用于Palm设备的键盘。
TRG出售用于Palm IIIx 和一些其它Palm设备的存储器扩展器(www.superpilot.com/)。
Corex Technologies生产CardScan卡,它是能够用于Palm 设备的一个扫描器设备(www.cardscan.com/)。
DeLorme生产可插到Palm设备的modem口的GPS接受器。它被称作Earthmate,你可以从www.delorme.com/gps.htm找到有关它的信息。
最后可能也是最有趣的外围设备是Novatel Wireless,它是用于Palm设备的无线modem(www.novatelwireless.com/)。这个无线modem包括了所有标准Palm设备,包括IIIc,
并得到许多的最好的无线网络商的支持,如AT&T。
网址
以下的网址可使你获得相关主题的最新信息。
EScribe
在www.escribe.com/computing/上,目前有4个关于Palm OS 各个方面和 conduit开发开发者论坛:
1 Palm Computing Platform Conduit Developer Forum
2 Palm Computing Platform Emulator Forum
3 Development Questions About the Palm Computing Platform
4 Palm Computing Platform PQA Developers Forum
Handspring
这是生产Visor Palm OS设备公司的网址。它为开发者能充分利用他们的Springboard插槽提供了有用的信息。
J.Marshall
(www.Homepages.enterprise.net/jamarshall/palmos/)是我所找到的使用GCC编写Palm OS 应用程序最好网站。
Massena.com
在www.massena.com/darrin/pilot/index.html网站上有很多有用的其它链接和一些开发工具。
Palm Computing
正如你想象的一样,这个网址上(www.palm.com)有很多有用的链接和信息。记得一定要查找Developer Zone。如果你是真的要为Palm编程,加入Palm的免费Solutions Provider程序来获得访问Provider Pavilion的权利。在那里有Palm Computing的各种各样的原型和测试的硬件和软件.
Qualcomm/Kyocera
Qualcomm(www.qualcomm.com)最近将负责pdQ电话的分部售于了Kyocera(www.kyocera.com/)。在Qualcomm网址上还有一些pdQ的信息。到现在为止,在Kyocera网址上还没有相关信息。
Quality Partners
在www.qpqa.com.com/palm/index.html上有很多文献,它将告诉你怎样彻底调试你的Palm OS应用程序和如何获得资格认证。
RoadCoders
www.developer.com/roadcoders/上有很多与Palm OS主题有关的有趣的文章和例程。
Symbol
它是在Palm设备嵌有条形码扫描器的的硬件制造商(www.symbol.com/products/mobile_computers/mobile_palm.html)。SPT1740也有无线LAN接口。你能这个URL上找有关与这个硬件接口的信息。
TRG
它是为Palm Computing设备制造TRGpro设备和存储器扩展单元的制造商。在www.trgpro.com/ 上有如何使用CompactFlash slot的信息。