盡管許多人還沒注意到,但
Java 平臺真正出現在桌面上到現在已經有四五年了。已經有幾個優質的桌面應用程序是用
Java 代碼編寫的,包括 RSSOwl、Limewire、Azureus、Eclipse、NetBeans、CyberDuck 等等。這些應用程序幾乎用了每一個可用的 GUI 工具包來編寫,包括 Swing、AWT、SWT,甚至是平臺原生的工具包,如 Mac OS X 的 Cocoa。我看不出下一年會有哪個工具包在眾多工具包中勝出,盡管 Swing 在制造一些保留本色的應用程序方面似乎比其他工具包表現得更為出色。
用 Swing 進行開發仍是相對挑戰的,但隨著 Swing 應用程序框架的到來,這種情況也許會在下一年得到改善。這一框架目前尚在
Java Community Process 中作為 JSR 296 開發。下面是 JSR 必需交代的:
編寫良好的 Swing 應用程序試圖為啟動和停止,以及管理資源、行為和會話狀態的代碼使用相同的核心元素。新應用程序從頭開始創建所有這些核心元素。
Java SE 不支持構造應用程序,這常常讓開發新手們感到有點茫然,特別是在他們打算構建一個規模遠超于 SE 文檔中提供的例子的應用程序時。
通過定義 Swing 應用程序的基本結構,這項規范(最終)會添補該空白。它會定義一小套可擴展的類或 “框架”,用于定義相對于大多數桌面應用程序較普遍的基礎設施。
Swing 應用程序框架應支持典型應用程序中的大多數東西,允許開發人員恰在一些自定義的點處插入,如啟動和停止時。在啟動和停止之間,它將處理 windows 的保存和恢復,以及應用程序的其他部分。最后,它將允許開發人員編寫在 Swing 事件分派線程外運行的異步行為。
改善
JavaBeans 以及所有依賴它的東西(包括 Swing)的工作尚在繼續。JSR 295 正在定義一種將 bean 綁定到一起的標準方式,這樣,對一個 bean 的修改就會自動地反映到其他的 bean。例如,一個 GUI 網格 bean 會在其相關數據庫 bean 改變時自動更新。
最終,JSR 303 正在實現一門基于 XML 的驗證語言,來聲明式地指定任何給定的 bean 將取什么值。int 屬性將必須介于 1 到 10 之間,或者 String 屬性必須包含一個合法的電子郵件地址。如果幸運,這一切都將在年底以 beta 形式提供,并將在來年的
Java 7 中按時完成。
posted on 2007-10-04 21:47
火焰出林 閱讀(178)
評論(0) 編輯 收藏