新的一年開始,按理說要對去年的什么東西做一番總結了,當然總結很多了,這次先總結一下 JSF 了,畢竟這對我來說是今年最主要的技術方向,對它也算是比較熟悉了,雖然沒有非常深入的去研究它,但從一年多的使用和理解來說,還是有不少自己的心得的,在新的一年到來之際,把這些東西記錄下來,重新記起這個讓我歡喜讓我憂的 JSF。靜觀這一年 JSF 的發展,沒有太多的興奮,也沒有太多的歡喜,更多的是平靜,與同一時間大紅大紫的 Ajax 和 RoR 相比,JSF 帶給我們的更多是平靜,靜的讓人心里發慌,上半年可以說還是稍有一些波濤了,而隨著月份的數字越來越大,波濤是越來越小了。
可以說各大廠商在互相妥協讓步的基礎之上,把 JSF 實用化的實現版本的重任交到了 Apache Myfaces 項目上,而 Oracle 也將其 ADF Faces 的實現捐給了 Apache,而現在我們可以見到的 JSF 實現也主要就是 Myfaces 了,當然 Sun 自己也有一套實現,當然這只是一種不夠健壯,并且功能有限的實現版本,一般不會拿來做正式的項目的。剛過完年 Myfaces 1.1.2 和 Tomahawk 1.1.2 正式發布,這是過去 Myfaces 1.1.1 的一個 bug 修復版本,離上一個版本已經有半年左右的時間了,而項目組的同事們也在與 Myfaces 1.1.1 的 bug 斗爭了半年才用到這個新的版本。隨后的 Myfaces Core 1.1.3 / 1.1.4 則在幾乎一個月內發布,而 1.1.5 和 Tomahawk 1.1.4 則至今沒有動靜,雖然由 Myfaces 每次發布帶給我們的 new feature 已經不是那么的多了,但是還是期盼新的版本能夠給我們帶來新的驚喜。
五月份的時候 JavaEE 5 最終標準發布了,JSF 1.2 終于被正式提上了日程,這是一個對過去標準的一個修復版本,修正了上一個標準中的諸多問題,比如 JSTL 兼容性問題,還有一些細節性的改動,都是過去在 JSF 1.1 標準中非常折磨人的問題,但新的 1.2 標準依賴于 JDK 1.5,依賴于一系列新的 JavaEE 5 的 API,比如 Servlet 2.5, JSTL 1.2 而這些新的 API 也是在緊鑼密鼓的開發中,所以 Myfaces 1.2 的開發進程也一直很慢,因為其中出現的問題不光是 Myfaces 自己的問題,或許還有 Tomcat 6 的問題,或是其他的問題。而另一方面 Sun 也發布了一個 JSF 1.2 的實現版本,是由 JSF 1.2 的標準的主筆領導開發的,按照我對于 Sun JSF 上個版本的表現,我對于這個新的實現也不抱有太多的希望,或許它更多的只是一種象征了,象征著 JSF 1.2 的正式推出。
開源領域的 JSF 相關的項目發展緩慢。Myfaces 在一年內沒有給我們帶來太多的驚喜。曾經做為黑馬出現的 JSF 擴展框架 Shale 至今還沒有給大家帶來一個滿意的答復,一直以 develop 版本發布出來給大家嘗鮮用,雖然慢慢的在前進,但是卻很難帶給大家什么驚喜,或許會被人逐漸的淡忘。而去年年底由 Oracle 捐給 Apache 的 ADF Faces 也是至今沒有太大的動靜,同樣作為兄弟項目的 Struts 2 從提出到現在也有一年了,還沒有能提供一個正式的版本給我們用,作為 Apache 的項目,這樣的發布速度,確實很讓人不能滿意,而作為另一個大型的開源組織 Eclipse,則在一個個 Milestone 下有條不紊的向前推進,不斷蠶食著別人所占據的地盤。
作為 JSF 整體應用平臺一個重要的部分,第三方組件庫的發展有不小的突破,但是真正的應用度似乎不是很高,這一年內出現了很多優秀的商業,開源的組件庫,除去上面我們提到的 Myfaces Tomahawk, Oracle ADF 之外,還出現了 ICEFaces, BackBase,WebGalileo Faces,另外在 .Net 領域的組件提供商 Infragistics 也通過收購發布了 NetAdvantage for JSF 2006 這樣的組件庫。另外一直在 JSF IDE 上有所作為的 Exadel 公司也在 JSF 組件上插上一手,一方面發布了其開源的 JSF 框架 Ajax4JSF 另一方面在其基礎上提供了一個商業的 JSF 組件庫 VCP,這樣的方式確實有一套,可以同時抓住兩方面的市場。另一方面國內也出現了像金碟這樣基于自己 Apusic Application Server 的開源 JSF 組件庫,是一件值得我們國人驕傲的事情,不過由于其只能夠運行于 Apusic 上,使其應用面受到了不小的限制。
讓我們再來看看這一年 JSF 相關 IDE 在今年的作為了,在 06 年春節期間,一些支持 JSF 的 IDE 像趕集一樣不斷的推出來,先后有 MyEclipse 4.1 GA,Sun Java Studio Creator 2, Oracle JDeveloper, BEA Workshop Studio 3.0,在這一段時間推出。MyEclipse 和 BEA Workshop 是 Eclipse 的插件,而 JDeveloper 和 Creator 是基于 Swing 的,不過隨著時間的推移,大家真正在用的 JSF 開發工具也主要就是 MyEclipse 和 Workshop,不過 MyEclipse 在 JSF 上想和 Workshop 拼,還需要一些時日了,另外在九月份正式發布的 IntelliJ IDEA 6.0 也開始支持 JSF 了,當然是用其獨特的方式去支持,雖然不提供圖形化的所見即所得的開發方式,但由于其 IDE 內部各個部分間完美的組合,使得其在寫代碼的感覺上要遠遠超過的其他競爭者,這也正是獨立 IDE 和插件 IDE 一個重要的功能區別。
縱觀 06 年的 JSF 的發展歷程,我還是對 07 年的 JSF 的發展很期待,希望 Myfaces 基于 JSF 1.2 的實現能夠盡快的推出,也能夠有更多更好的開源組件庫的出現。
posted on 2007-01-05 09:22
steady 閱讀(2220)
評論(6) 編輯 收藏