本文來源於我在InfoQ中文站翻譯的文章,原文地址是:http://www.infoq.com/cn/news/2012/05/primefaces-3-released
PrimeFaces是個面向JSF2的開源組件庫,提供了大量的Ajax控制項。它提供了應用開發人員所需的常規組件,如資料表、樹、可摺疊窗格、自動完成與頁簽等。此外,它還提供了其他一些特別以及有趣的組件,這些組件是其競爭者所沒有的,如:
- 麵包屑導航
- 簡單的試算表
- 行事曆檢視
- 星級評等
- 嚮導
- 手工圖片剪裁
- Growl風格的通知
除了上述這些組件外,PrimeFaces還提供了圖片比較、標籤雲產生、甚至是OS X風格棧的實現。根據Prime Teknoloji(PrimeFaces背後的公司)所述,之所以存在這種多樣性,原因之一在於該公司並非軟體廠商。它實際上是個諮詢公司,協助其客戶更好地使用PrimeFaces。
這正是PrimeFaces區別於其競爭者的一個主要特質,因為Prime Teknoloji既是庫的生產者,同時當其代表其客戶時,它又成為了庫的使用者。這對於核心開發有著非常重要的影響,因為重要的Bug需要儘快修複才行。保持庫的輕量級與可使用性也是PrimeFaces的一個主要目標,因為任何偏差都會被Prime Teknoloji的客戶立刻察覺到。
PrimeFaces還提供了PrimeFaces Mobile,這是面向iPhone/Android的一個版本(基於jQuery Mobile)。
InfoQ有幸採訪到了項目領導?a?atay ?ivici以深入瞭解此次發布的相關資訊:
InfoQ:Primefaces 3.x有哪些新特性?
PrimeFaces 3的開發持續了近一年時間,與2.x相比,3提供了各種新組件、重新實現了之前的一些組件、對內部進行了增強以提升效能、最佳化了資源載入、提供了更加靈活的Ajax行為回調等。總而言之,你可以將PrimeFaces 2.x看作是PrimeFaces 1.x(針對JSF 1.2)針對JSF 2.0的移植。
InfoQ:該版本與Primefaces 2.x之間的相容性如何?遷移很方便嗎?你們是否還會支援Primefaces 2.x並修複其Bug呢?
遷移不難,但也沒那麼容易,這主要是因為我們通過Ajax的行為事件來實現的組件回調。對於我們來說,PrimeFaces 3.x是個重要的裡程碑。這正是為何其開發時間持續了近一年的一個原因,因為這是進行重要變更的一個機會。從PrimeFaces 3開始,架構將會更加穩定。
InfoQ:Primefaces能與其他JSF庫混合使用麼(比如說IceFace與Richfaces)?
我們從來沒有將PrimeFaces與其他庫混合使用過,但我們的使用者這麼做過。PrimeFaces與RichFaces都使用了jQuery,因此在每個頁面上只要通過二者之一包含進jQuery,那麼就可以同時使用他們了。至於IceFaces,我們不清楚是否有使用者同時使用過他們,這可能是由於IceFaces D2D方式的本質所決定的。
InfoQ:HTML5對於你們來說有多重要?添加HTML5支援會很方便嗎?
HTML5對於我們來說是非常重要的,因為它為我們提供了一個開發環境以使用上PrimeFaces中的富特性。我們通過優雅降級的方式將HTML5整合到了PrimeFaces中,比如說fileUpload組件支援Ajax上傳、多檔案選擇、從檔案系統中拖拽檔案上傳,但在不支援HTML5的瀏覽器中,它使用了iframe進行傳輸。此外,圖表組件使用了HTML5 canvas元素。我們還大量使用了data-*特性。對於PrimeFaces Push來說,它是通過WebSockets實現的。
InfoQ:當前的開發目標是什嗎?PrimeFaces 4有哪些值得期待的特性呢?
目前還沒有PrimeFaces 4的計劃,我們還會繼續在PrimeFaces 3.x上花一些時間。目前,PrimeFaces 3.1的發布中有7個新組件、很多組件都增加了不少新特性,同時還進行了大量的維護工作。我們的路線圖是交付使用者最希望得到的特性、交付我們自己的想法,當然了,還有對庫的品質的改進。在我們決定開發PrimeFaces 4時,一定是有某些特別的緣由的。
InfoQ:對於大小版本的發布計劃是怎樣的?
從PrimeFaces 3.x開始,我們計劃每月發布,因此我們打算每個月都發布一個新的PrimeFaces 3.x迭代版。
Java artifacts目前還不在Maven Central中,只在PrimeFaces Repository(Prime Teknoloji目前正在解決這個問題)中。要想瞭解更多資訊,請參閱參考文檔、論壇與Wiki。其原始碼託管於Google code上。
查看英文原文:PrimeFaces 3.0 Released: Ajax, Mobile and IE 9 Components for JSF2