Sun宣布决定将移动版Java逐渐转向Java标准版已经有些时日了,然而开发者对此的争论仍未平息。Java开发者力守寸土,绝不愿意看到Java任何一个分支的流失,即使Sun表示这只是一种整合;而又有开发者高呼“JavaME死了”云云……惹得Java之父Gosling不得不出面大喝:“JavaME没有死!” 现任某公司系统分析师、拥有多年Java开发经验的沈东良认同Gosling的观点。他认为JavaME在相当长时间内不会灭亡,在移动设备市场上JavaSE和JavaME将长期并存。 JavaME仍不可或缺 这是因为JavaME是一种以广泛的消费性产品为目标的高度优化的 Java 运行时环境,可用于寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统等设备。JavaME版本是为了适应移动设备计算资源少的硬件情况而推出的JavaSE的简化版。JavaME版本为了更少得占用资源,对JRE和Java类库都进行了瘦身。 而且JavaME是一系列功能的集合:基本核心之上是层层的可选层。每层由“Java规范请求”(JSR)来定义。具有不同计算能力的移动设备,可以根据需要分别使用CLDC和CDC进行开发。这使Java程序能够运行在大量计算资源各异的移动设备上。 但随着移动设备硬件技术的飞速发展,一些移动设备的计算能力已经可以媲美两三年前的PC了,具备了直接运行JavaSE的条件。因此未来在移动市场上,随着高端移动设备的流行,JavaSE将会逐步扩大市场份额。“但是,我们也应该看到,移动设备的种类十分繁多,不可能所有移动设备都有iPhone这样强大的计算能力。因此,在那些计算能力较弱的设备上JavaME依然是不二选择。”沈东良说。 在你看来,Sun转向Java标准版除了解决Java移动版分散性的问题外,还会给Java带来哪些好处?开发者从中受益了吗? Java疆土将扩大 毫无疑问,转向JavaSE可以很好地解决存在于JavaME中的一个老问题即分散性。这意味着在移动设备硬件技术飞速发展的前提下,JavaSE可以直接运行在一些高端移动设备上,大量Java程序不经修改就能直接运行在手机等移动设备上。 “届时手机将具备同笔记本电脑一样强大的功能。Java的疆土得以迅速扩大,作为Java开发者,可以从扩大了的Java市场中得到大量的机会。” 更进一步来看,沈东良认为JavaSE在高端移动设备上的流行,配合基于Unix和Linux的移动操作系统,将能够遏制住微软Windows Mobile垄断手机操作系统市场的野心,为移动设备软件市场营造出一个开放公平的竞争环境。 JavaFX的角色 JavaFX脚本语言是Sun公司进军桌面开发市场的重要产品。JavaFX不仅仅要在网页中容身于Applet中,也要开发PC上的桌面程序,还要依靠这次Sun把JavaSE推广到高端移动设备上的机会,在高档手机上开发桌面程序。 “我认为JavaFX在移动设备市场上,可能只在JavaFX Mobile系统上实现,未必会在JavaME上实现。”深东良说。 这是因为JavaFX Mobile系统包括了几乎全部JavaSE的内容。可以直接把JavaSE上的JavaFX脚本语言移植到JavaFX Mobile上,用于高档手机的桌面程序开发。 Sun公司把JavaSE带到移动设备中,就是依靠在移动设备上推行JavaFX Mobile系统。而JavaME系统没有完整的Swing和2D类库,如果在其上实现JavaFX脚本语言,那么它使用的类库也必然需要精简。这样,JavaFX程序就不能不加修改地直接应用到移动设备上。 注: JavaFX Mobile系统和JavaFX脚本语言其实没有任何关系。 JavaFX脚本语言是一个基于Java的脚本语言,用于简化开发Java桌面程序。 JavaFX Mobile系统是SUN公司在高端移动设备上提供的一整套Java运行系统。它使用的是JavaSE而不是JavaME运行环境。在其之上当然也支持JavaFX脚本语言。 |