background image

Java,Android 的 Dalvik 虚拟机和相关类库也不承诺遵守任何 Java 规范,有关这个问题,
Apache  Board 的 成 员 , MIT 的 stefano  mazzocchi 有 一 篇 非 常 精 彩 的 Blog : Dalvik:  how 
Google routed around Sun's IP-based licensing restrictions on Java ME

InfoQ 中文站:那么,对 Java 语法编程的程序员而言,最大 Java 开发群体是 J2EE 程序

员,对于一个想转向移动平台开发的

J2EE 程序员来说,转向 Android 平台是不是一个好选

择?又会有哪些困难?

我所编程接触过的移动平台支持

Java 的有 J2ME、 BlackBerry、Android。J2ME 的功能实

在太有限,仅支持

J2SE 很小的一个子集;Android 所支持 J2SE 的子集已经很充分了,在

 

Java 编程方面和 J2SE 相比几乎没什么限制。

很多开源的

Java 类库仅仅需要很小的修改就能在 Android 上运行。而在 J2ME 上要想运

用那些类库几乎不可能,只能重新造轮子。

BlackBerry 里的 Java 环境比 J2ME 要强,但强的

有限,基本还是无法利用现有众多的

J2SE 的类库。

所以对想转到移动平台的

J2EE 程序员来说,转向 Android 平台的代价最小,所能做的

事情最多。

 转向 Android 平台的困难主要在于这是个全新的平台,手机硬件还没发布,没有

实际项目积累和实际的运行环境。

现在开发基于

Andoid 的应用难免有些空中楼阁的意味,无法经过实际运行环境的检验 。

也很少有客户愿意为半年一年后还不保证能运转的应用买单,所以对程序员来说会有较长
的投入期。

我个人觉得这个转型会非常容易。尽管

Android 编程功能支持的不是标准的 Java TM,

但是已经覆盖了大部分的

Java 的语法和类库。困难之处,我觉得可能在于开发人员对移动

设备和服务器设备的理解。

移动设备的具有一些独有的特性,比如电源消耗问题,屏幕大小限制,以及

CPU 的速

度等。因此,在各个资源之间的平衡策略往往和传统的服务端编程不一样。