Sun力推Java标准版 手机移动版Java将逐步退出

10月22日国际报道 Sun的Java牢牢抓住的一个领域是手机,但移动版的Java最终将被标准版Java取代。

Sun副总裁,Java之父James Gosling说,曾经主要在台式机上流行的Java标准版(SE)会逐渐取代Java微型版(ME),将更多计算能力带进小型设备中。

Gosling上周说:“我们正在将一切汇集到Java标准版规范上。手机和电视机顶盒正在壮大。这种集中过程将耗时数年。”

首当其冲的例子是Sun的JavaFX Mobile,尽管它缺失了诸如“公共对象请求代理结构”(CORBA)等少量部件,这套软件包括了几乎全部Java标准版内容。

Sun对Java的预期符合近来的架构趋势,最明显的就是苹果的iPhone,它更多的象缩小了的苹果电脑而非通常的手机。特别是,苹果使用了它普通版的Safari网页浏览器,以便让用户尽可能多的获得桌面互联网体验。

同时,英特尔正在努力将运行PC的x86处理器带进移动设备。它与包括Ubuntu Mobile和Mobile Firefox在内的开源运动一道正在成为气候。

迁移到Java标准版不会在一夜之间完成。Sun软件执行副总裁Rich Green说,他预计,使用移动版Java的智能手机至少会在市场上存在10年。

但这种变化已经在进行。Gosling说:“Java移动版全部工作已经越来越向Java标准版靠拢。”

整合移动Java

转向Java标准版可以解决Java移动版一个老问题:分散性。

Java移动版是一系列功能的集合-基本核心之上是层层的可选层-每层由“Java规范请求”(JSR)来定义、对于Java移动版,存在众多功能的JSR。这种特点给Java最初的宗旨“一次编译,到处运行”造成了挑战。

之所以这么讲,是因为按照Java原则编写出的程序可以在任何安装有Java虚拟机(JVM)的电脑上运行。JVM是一种软件基础,它能够让普通 Java程序在一定的电脑上运行。但是,由于Java移动版扩展的多样性,很难保证针对一种手机编写出来的程序能在另外的手机上运行。

Java标准版具有更丰富的一套功能,因此使用它来代替Java移动版至少可以保证Java软件便携性的一些承诺。

JavaFX Mobile是Sun JavaFX计划的组成部分,它于5月份在JavaOne会上宣布。

Gosling说:“JavaFX可能是Sun迄今为止经历过的最大,最复杂的软件工程开发。”以下就是对JavaFX构成的快速介绍:

Java FX介绍

Java FX术语令人抓狂。Java SE这个词已经存在近10年,我们还能应付它。

Java 6 Update N,它正式名称叫做“用户Java运行时环境”(JRE),它主要通过改进网页浏览器插件来让一般电脑用户能够更容易使用Java标准版。

在Update N功能中,当你碰到一个Java网页,电脑会预载Java以减少你的等待时间。通过装载基本的核心(一般少于4MB)部件,它的安装过程会相当快,随后再升级全部12MB的Java软件集合。它利用了Windows的Direct3D图形功能。并且它还包括了更多图形用户界面,能够在多个操作系统平台上实 现统一的外观,

Sun公司Java SE客户架构部的Chet Haase说,Update N应该在12月进入测试期,几个月之后提供给用户。

然后是JavaFX Script。这是一种新的脚本语言,它专门负责一些迷人的用户界面动作,比如透明化以及其它主流网页浏览器脚本语言,JavaScript很难实现的效果。Gosling说,JavaFX Script更多用于设计用途,而不是工程。

当然,你还需要东西去编译它,JavaFX编译器将人们的代码转化为计算机能够执行的指令。

最后是上面谈到过的Java FX Mobile。Gosling说,这种软件出现的部分原因是回应希望获得更统一基础的Java移动版开发者的请求。另外一个和Java移动版不同的地方 是,Sun将在ava FX中预制二进制程序;ava移动版一般是一套源代码,程序员必须编进有用的东西才行。

竞争

Gosling和Java已经成为一种再度流行起来的理念的先驱:“富因特网应用程序”(RIA),即软件在网页浏览器中运行,但它比一般的网页功能更多,更精彩。

Java已经在运行服务器软件以及手机之上的游戏运行方面开拓出道路出来,但Java当初的一个承诺是将网页浏览器变为复杂软件基础。

利用Ajax,Adobe的综合运行时(代号Apollo)以及微软的Silverlight及Google的Gears,更多的富因特网应用程序正在出现。

Gosling认为,JavaFX也存在机会,他列举出的几点优势是:更丰富的用户界面,更快的性能,更强大更容易被接受的语言,更好的离线功能以及安全性。