J2ME
两种主要的PDA开发平台是Java 2.0 Micro Edition(J2ME)和Microsoft的.NET Framework Compact
Edition。听起来就像是另一个版本的“J2EE对战.NET”,对吗?那是因为本来就是如此。
但编写J2ME应用程序和编写J2SE或J2EE应用程序有着很大区别。Sun精简了语言的大量功能,使其和桌面或服务器版本没有多少相似之处。例如,J2ME目前不支持浮点数据类型,而这是进行数学计算时经常需要的。
J2ME另一个令人惊异的限制是它不支持JDBC。Sun是这样解释的:“Java 2标准版(J2SE)提供的持久存储能力——比如JDBC和对象序列化API等——不适合内存有限的手持设备。”提供的数据模型称为“记录管理系统”(Record
Management System),只通过字节数组来支持数据访问。根据Sun的说法,“记录是一个字节数组。你可使用DataInputStream、DataOutputStream、ByteArrayInputStream和ByteArrayOutputStream类将数据类型打包到字节数组,或从字节数组解包。”虽然它确实提供了让数据持久的一种方式,但这个模型最多只是一个拼凑出来的东西,很难进行得体的编程。
Microsoft的.NET Framework Compact Edition
Microsoft的.NET Framework Compact Edition虽是进入这个领域的新军,但却具有一流的品质,因为只需花最少的时间就可从构建桌面应用程序转为构建PDA应用程序。在.NET中,设备编程和桌面应用程序编程的区别要比J2ME少得多。例如,和J2ME不同,.NET
Framework Compact Edition没有提供ticker元素——这是HTML提供的一个marquee显示标记,它能在屏幕上滚动显示一个文本字符串。整个字符串显示完毕后,就循环显示。但通过从标签派生一个类,并用一个计时器让文本每隔100毫秒在标签中移动一次,可获得相同的效果。