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桌面技术最终是竞争,还是互相融合,仍需要时间来证明。
闽公网安备 35060202000074号