2005 年即將結束。回顧這一年,Mustang 尚未釋出,EJB 3 剛提交最終草案,Ajax 雖興起卻框架林立令人眼花繚亂,AspectJ 5 問世卻缺乏驚喜。雖或許有人說 Java 界在 2005 缺乏亮眼成績,但毫無疑問 Java 仍遙遙領先於其他語言。從 11 月程式語言排行榜 Java 獨佔鰲頭,到年度圖書銷售統計:Java 圖書總銷量是 C# 的 2 倍、PHP 的 2.5 倍、Perl 的 4 倍、Ruby/Python 的 9 倍。這讓我們對 2006 充滿想像空間。先讓我們詳細回顧 2005 的 Java 世界。
2005 年 Java 無疑是最受歡迎語言,但也面臨其他語言挑戰。Bruce A. Tate 指出四種可能威脅 Java 的技術:動態語言、Continuation、Conventions、元程式設計。Ruby 可說是最有力挑戰者,Rails 1.0 釋出引發狂熱。Rails 是否為下一代偉大框架?極有可能。若必須選擇,Rails 應屬 Ruby 或動態語言元程式框架浪潮的首個代表。但 Java 已開始吸收 Ruby 特性,如 Trails、Groovy。
Drools 專為 Java 設計,基於 Charles Forgy 的 Rete 演算法,能在 Java 與 .NET 上運行。提供宣告式程式設計與領域特定語言(DSL)。Web 與持久層框架選擇眾多,但中間層業務邏輯有好框架嗎?每次經理下達新指令就得重寫複雜的 if-then 義大利麵代碼?Drools 或許是最佳選擇。相關文章:《Drools - 業務邏輯框架的選擇》、《為 Spring 應用增加簡單規則引擎》、《在企業級 Java 應用中使用 Drools》。
Portlet 如同 Servlet,專為聚合合成頁面內容而設計。請求一個 Portal 頁面會觸發多個 Portlet,各自產生標記片段組合嵌入頁面。2005 年 Portlet 框架層出不窮。JSR 168 規範定義了 Portlet 標準。
2005 年沒什麼比 Ajax 更火。Ajax 與 Java 雖無直接關係,但 Java 界高度關注。Google 成功應用 Ajax。相關資源:《Ajax:Web 應用的新方法》、《用 AJAX 控制書籤與回退按鈕》。框架層出不窮:DWR、AjaxAnywhere、AjaxTags。DWR 讓 Ajax 簡單快捷;AjaxTags 展示如何進行 Ajax 開發。
BEA、IBM、Oracle 紛發布 SOA 方案。SCA 與 SDO 將構成新 SOA 程式模型。相關探討:《SCA 和 SDO 組成新 SOA 程式模型》、《SOA 架構中的事件驅動服務》、《面對 SOA,你準備好了嗎?》。
Web 2.0 興起使 RPC 成為 Web 調用方式之一。分散式應用中提供統一對外介面,透過可重用外部 API 滿足需求。《Java 元件開發:一個概念框架》提出解決方案。
Hibernate 仍是最受歡迎的企業級持久層方案。EJB 3.0 出現是否影響 Hibernate 發展?備受關注。2005 年 Hibernate 相關熱門話題:Hibernate 3 的 Formulas 展示公式如何輔助模式轉換;Magicgod 的 Hibernate 思考指出其弱點。
《POJO 應用框架:Spring 與 EJB 3.0 比較》極受矚目。Spring 雖流行但非標準開源框架,EJB 3.0 為 JCP 制定標準並獲各大 J2EE 廠商支援。兩者大量使用依賴注入。Spring 事務管理特性討論:《在 Spring 中實現事務暫停》、《在 Spring 中配置 Hibernate 事務》。《愛上 Spring 的 5 個理由》道出開發者心聲;《使用 EJB 3.0 簡化企業級 Java 開發》闡述 EJB 3.0 註解開發鬆耦合 POJO 應用。2006 年將是 Spring 與 EJB 3.0 的大戰之年。
調查顯示超過 70% 開發者使用 Eclipse。Eclipse 佔據 IDE 主流市場,間接導致 Borland 離場,但也加劇競爭,利好開發者。《成為 Eclipse 快捷鍵高手》介紹高效熱鍵組合。WTP、MyEclipse 推動 Eclipse 持續發展,展現社群力量。
Ant 不只是建構工具,還能做更多事。《使用 Ant 進行 Web 開發》介紹部署任務;《讓專案開發自動化》描繪 Ant 自動化專案的好處。
相信在所有技術語言中,Java 是 2006 年的熱點所在。讓我們共同期待!
2006, A Happy New Java-year and Matrix-year!