AJAX PK Java桌面技术,谁将是最后的王者
Java最引以为傲的特性就是跨平台。基于Java的桌面软件以其一处编译、到处运行的优势横扫企业桌面软件市场。目前有很多跨平台的软件都是基于Java的,如JBuilder、Oracle的管理前端,Eclipse等。这些软件都在各自的领域起着举足轻重的作用。然而好景不长。Web这个老牌技术换上了AJAX这件金履玉衣后又杀了回来。而搜索引擎的老大Google将AJAX这种技术用得淋漓尽致,如Google Map、Google Office等。从种种迹象可以看出,AJAX技术正是Java桌面技术的最大敌人,那么谁能取得最后的胜利呢?
一、Java问世,桌面软件市场成为它的第一块肥肉
在1995年Java问世之初。第一个使Java声名显赫的并不是现在Java程序员所熟悉的JSP、Servlet、EJB的J2EE组件,而是现在已经基本上被淘汰的Applet。记得当初我刚接触Java时,正是Applet火的时候,有非常多的网站都是基于Applet技术的动态网站。
Applet本身也是Java程序,只是Java对Applet的部分功能进行了限制,这样用户可以在IE前端享受Java的强大功能的同时,还拥有了Web程序免安装的特性。
但Applet也有它的缺点。如装载缓慢、设计复杂的效果比HTML+JavaScript繁琐等。在后来Applet之所以每况愈下,还有个重要的原因就是微软和Sun的谈判破裂,直接导致了IE只支持到jdk1.1版本,因此,后续的jdk要想在IE中安装,必须要安装Sun所提供的jdk包。这种情况大大阻挠了Applet最终统一跨平台桌面软件市场的进程。而Sun在Applet的更新上也做的不尽人意。因此,Applet这项技术只吃了几年桌面软件市场的肥肉就将这些肥肉吐了出来。以至Java在跨平台桌面软件市场的第一回合的争斗中彻底失败了。而Sun当然不会就此善罢甘休。Sun将利用它的下一项跨平台桌面技术来和其他的竞争对手一决雌雄。
二、AJAX空降桌面软件市场,会和Java桌面技术竞争还是融合?
在基于web的应用大行其道的世界,桌面程序是否还有其地位? 在Sun举办的“桌面存在价值”研讨会上,与会者对桌面应用的地位给出了肯定的回答。“Java 桌面应用开发者会议”近日在加州圣何塞召开。会议主要议题涉及Java的各种技术,如提供组件技术的Swing、Web框架Spring、NetBeans开源平台等。
会议的基调是在桌面技术和AJAX之间进行比较,AJAX是开发web应用的时髦技术。人们认为桌面应用和Web应用变得越来越相似:Web应用桌面化,而桌面应用则向web领域扩展。Swing和AJAX技术在表现效果和组件支持等诸多方面越来越接近。桌面应用出现了主机版本如Microsoft Office系统,而基于AJAX的应用则克隆桌面应用的AJAX版本如Zoho Office。Ajaxian.com以及“桌面存在价值”研讨会的创始人Ben Galbraith 和 Dion Almaer参加了会议。在会上人们提出大量实例证明桌面应用在很多领域优于web应用:如对于本地存储资源的访问、图形处理性能、内存损耗、敏感数据本地化能力等。有人指出:有些用户习惯于使用桌面应用,对于安装浏览器来升级应用感到茫然。桌面Java程序比AJAX版本速度快。然而AJAX可通过如Dojo Offline Toolkit等工具提供更好的离线支持。Galbraith在会上宣布启动Nimbus,旨在为Swing应用提供更具吸引力的用户界面。Nimbus是由Sun公司开发部署在Java.net上的开源项目。Nimbus的图形界面酷似Mac OS X和Windows Vista Aero。Galbraith介绍说,Nimbus的图形界面感观大大优于Swing,提供了可变尺寸工具箱等特性,以利于屏幕空间的合理利用以及用户界面嵌套面板分割。Nimbus 1.0 beta版计划在5月8日旧金山JavaOne会议期间推出。Nimbus经过技术细节调整后有可能随同Java 7发布(Java 5平台)。
自从AJAX来到Web开发领域后,虽然有些技术是学的Java的东西,但它将来有可能会再次威胁到Java用来进攻桌面市场的新技术。虽然目前AJAX在开发上还不是很方便,但已经有象Google等公司开发出了类Java的AJAX开发工具,如GWT。还有就是Borland公司最近也宣布Delphi2007将全面支持AJAX开发。从种种迹象看,在未来使用AJAX技术将会变得更容易。AJAX在未来也许会成为Java桌面技术的强大竞争对手。至于AJAX和Java桌面技术最终是竞争,还是互相融合,仍需要时间来证明。