過去的一年,Mustang 沒能出來,EJB3剛剛才提交最終草案,Ajax興起但是五花八門不知道應該用誰,Aspectj 5出來了,但是缺乏驚喜。
或許我們會說,過去的2005,Java界缺乏成績,但是卻毫無疑問,Java遙遙領先於其他語言。從11月的語言熱門排行榜Java遙遙領先,到今年的Java圖書銷售統計上,Java圖書銷售總數是C#的2倍,PHP的2.5倍,Perl的4倍,Ruby/Python的9倍.
這足以讓我們對2006充滿想象。
不過,還是讓我們先回顧下2005吧....
1、2005 之 Java 對手
過去的2005,Java無疑是最受歡迎的語言。但是Java也面臨其他語言的挑戰,其中Bruce A. Tate,在一文中,提出了有可能挑戰Java開發的4種技術,包括動態語言,Continuation,Conventions,元編程等。
Ruby可以說是最有可能挑戰Java的語言,剛剛發布的Rails1.0引起了Fans的瘋狂。Rails會不會是下一代偉大的架構?有可能。要做一個選擇的話,Rails應該會是在使用Ruby或是其他動態程式設計語言的元編程架構潮流中的第一個。但是Java已經開始引進Ruby的特性了,比如Trails,Groovy。
2、2005 之 Java 新玩意
·Drools:Drools 是一個基於Charles Forgy's的Rete演算法的,專為Java語言所設計的規則引擎。Rete演算法應用於物件導向的介面將使基於商業對象的商業規則的表達更為自然。Drools是用Java寫的,但能同時運行在Java和.Net上。Drools提供了聲明式程式設計(Declarative Programming),並且使用域描述語言(Domain Specific Languages (DSL))。Web和持久層架構我們已經有很多選擇了,但是處在中介層的商務邏輯有好的架構嗎?你希望每次經理給你一個新的命令就不得不重編譯那些複雜的if ... then 意大利麵條代碼嗎?Drools- 商務邏輯架構的選擇這篇文章中,保羅布朗推薦的Drools的規則引擎或許是完成這類任務的最好選擇;為你的基於SPRING的應用增加簡單規則引擎描述如何為流行的Spring架構開發簡單的規則引擎;在你的企業級java應用中使用Drools一文則向你展示如何在企業級Java應用中使用Drools.
·Portlet:“Portlets是一種Web組件-就像servlets-是專為將合成頁面裡的內容聚集在一起而設計的。通常請求一個portal頁面會引發多個portlets被調用。每個portlet都會產生標記段,並與別的portlets產生的標記段組合在一起嵌入到portal頁面的標記內。”(摘自Portlet規範,JSR 168)。2005,Portlet架構層出不窮。什麼是Portlet ?讓你的Portlet之旅從這裡開始。
·Ajax:2005年,還有什麼比Ajax更火呢?Ajax興起, 傳統Web架構將走向何方? 引起廣泛討論,一度讓人感受到了Ajax的兇猛之勢。雖然Ajax和Java沒有直接關係,但是毫無疑問Ajax也是Java界關心的東西。Ajax: Web應用的新方法介紹了這個將令人們興奮的技術。
Ajax的應用也層出不窮,比如Google就成功地使用了Ajax。用AJAX來控制書籤和回退按鈕告訴我們如何用AJAX來控制書籤和回退按鈕。
一系列架構也隨之而出來,比如DWR, Ajaxanywhere,Ajaxtags。其中:DWR讓AJAX如此簡單展示DWR如何使得AJAX的應用既簡單又快捷。初探AjaxTags展示如何使用Ajaxtags進行Ajax開發。
·SOA:當然,2005不僅是架構,2005還有SOA,BEA, IBM, ORACLE..... 一家又一家企業公布了他們的SOA方案, 宣稱他們的產品支援SOA功能. SCA和SDO也將組成新的SOA編程模型。SCA和SDO將組成新的SOA編程模型說明了如何在實現了J2EE1.4規範的應用伺服器之間,比如Oracle Application Server 10g,使用J2EE1.4建立可互操作的,輕便靈活的服務;SOA架構中的事件驅動服務討論使用Mule實現一個高效的事件驅動和面向服務的平台; 面對SOA, 你準備好了嗎?
·RPC:Web應用的RPC方式調用,隨著Web2.0的興起,RPC方式逐漸成為Web調用的一種方式。
·分布式組件開發:在一個分布式應用當中,提供一個統一對外介面,通過可重用的外部API來滿足需求。Java組件開發:一個概念架構提出了一個構建概念架構地解決方案.
3、Hibernate繼續前進
Hibernate仍然是最受歡迎的企業級開發持久層方案,Ejb 3.0 的出現是否會讓Hibernate的發展有什麼變化嗎? 這無疑是讓大家都感興趣的事情。過去的一年,關於Hibernate也有很多有趣的東西:Hibernate 3 的Formulas展現formula的各種特徵是如何輔助模式轉換的;而Magicgod的Hibernate的思考則提出了提到了Hibernate的一些弱點。
4、Spring大熱
沒有什麼文章,比POJO應用程式框架:Spring與EJB3.0的比較 奪得更多的人的眼球了。Spring架構雖然很流行但並不是一個標準的開源架構,EJB3.0是由Java Community Process (JCP)制訂的標準架構,為所有主要的J2EE廠商支援。兩者都大量地使用了依賴注入。在SPRING中實現事務暫停討論了Spring的交易管理特性。在Spring中配置Hibernate事務探討了怎麼用Spring來裝配組件及其交易管理。愛上Spring的5個理由裡作者描述了他為何喜歡上了Spring;而使用EJB 3.0簡化企業級Java開發闡述了如何使用EJB 3.0 注釋來開發藕合鬆散的POJO應用及Container Service器如何管理POJO。
2006,看來還有一場大戰。
5、在Eclipse的影子下
調查表示,超過70%的開發人員使用Eclipse進行開發。Eclipse毫無疑問已經佔據了IDE的主流市場。Eclipse的興起,也間接引起了Borland的離去。但是也引起了IDE工具的競爭加劇,對開發人員是件不折不扣的好事。成為Eclipse熱鍵高手提到了那些會讓你的手指動的飛快的熱鍵組合。這隻是Eclipse快捷方便的一個縮影。剛發布的WTP,?? 好用的Myeclipse,都推動著Eclipse的不斷髮展,或許這就是社區的力量。
6、ANT
ANT仍然很受歡迎。ANT不僅僅是一個Build工具,它還可以作更多的事情。使用Ant進行Web開發介紹WEB 應用程式的部署,包括get, serverdeploy, 和 scp等。使項目開發自動化描繪了用Ant自動化你的項目能帶來的好處。
7、2006的Java期待?
·EJB3: EJB3最終草案提交,預示著EJB3的即將到來了,相信明年一定程度上是EJB3年,簡化開發是否真的實至名歸?
·Mustang: 不知道Mustang 的出現,會給Java效能帶來多大的改變,寄存器最佳化不知道是不是能帶來革命的效果?
·JBI-ESB:JBI這個提了很多年的名詞,終於在今年大熱,相信明年JBI仍然會繼續發展。
·JSF:JSF有太多對手了,Struts,Spring mvc,特別是Webwork加入Struts之後,不過相信JSF也是值得我們期待
·AJAX:雖然有很多AJAX架構出來,但是killer層級的架構是誰呢?2006會揭曉嗎?
·Groovy:社區的力量使得Groovy越來越成熟和完善了。
·Rails:Ruby雖然和Java無關,但是我想多數人都在關心Rails。畢竟Rails還是我們所期待的東西。
·Spring2.0:Spring 2.0明年初就會發布了,相信會繼續帶動Spring社區的狂熱。
相信在所有技術語言中,Java是2006年的熱點所在,讓我們共同期待2006。