???????? 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桌面技術最終是競爭,還是互相融合,仍需要時間來證明。