ZK介紹
數年前因IThome的報導就有注意到ZK,以framework作為產品的台灣公司,真的是非常少見,而ZK的表現也是令人激賞。
除了ZK 這個主軸的framework以外,其相關的產品也很全面,介紹部份如下:
ZK線上展示,直接以畫面示範所有元件的用法與外觀,你可以手動修改原始碼並立即觀看修改後的結果,很棒的一個作法。
優點
授權
要注意授權,最自由的就是ZK 5 CE以LGPL釋出,其他版本大多以GPL釋出。
CE版幾乎可以符合大部分的需要,當然在元件部份會比PE, EE版少。
ZK5不同版本間的元件差異比較表
數年前因IThome的報導就有注意到ZK,以framework作為產品的台灣公司,真的是非常少見,而ZK的表現也是令人激賞。
除了ZK 這個主軸的framework以外,其相關的產品也很全面,介紹部份如下:
- ZK studio
一個eclipse plugin,用來加速ZK開發的工具。內含一些簡化開發過程的工具如:
ZUL Visual Editor, 可以預覽zul所設計的UI在瀏覽器上顯示的樣子,方便設計UI。
Properties, 點選某個zul中的UI元件,即會顯示該元件的所有可設定的properties。
ZUL Palette, 元件調色盤,可以將UI元件用拖拉的方式放至zul文件中。 - ZK JSP tag
將zk的元件整合至jsp中,若不想完全改寫既有jsp頁面,可以採用此一選擇,可以立即獲得Ajax的特性。 - ZK Spreadsheet
類似Google docs中試算表的元件 - ZK calendar
類似Google calendar的元件
ZK線上展示,直接以畫面示範所有元件的用法與外觀,你可以手動修改原始碼並立即觀看修改後的結果,很棒的一個作法。
優點
- 快速擁有Ajax效果
對JavaEE工程師來說,在不換平台的情況下(Flex, Silverlight)要做出RIA,擁有的選擇不多,直接透過Javascript使用AJAX或採用Ajax相關的library(Jquery,DWR)需要一段時間學習,RichFaces也可能是個選擇,但JSF似乎不是很多人採用,對於JavaEE工程師來說,可以透過學習成本不高的ZK來快速打造RIA。 - 支援MVC架構
zul配合ZK composer(Controller),可以使zul頁面純粹擔任View的角色,完全不需寫程式碼在頁面上,作到清楚的MVC切分。
composer更可對頁面UI進行動態新增、刪減或修改屬性之變化,皆透過zK ajax engine來完成。
- 可純粹以Java開發
雖然ZK 5已讓懂javascript的人作前後端整合開發,甚至支援其他的script語言,但是幾乎所有既有元件功能都仍然可以透過Java控制。
- Component-based, Event-Driven
UI畫面以UI元件為基礎配置,也可以某個程度的客製化元件。zul頁面上的各種UI動作都可觸發成event並傳到後端的composer(Controller)來處理,架構清楚簡單。 - 可整合主流application framework
因ZK可作嚴格的MVC劃分,因此在整合Spring, Hibernate等主流的中、後層framework上沒有什麼問題,未來即使將ZK抽換掉也只需要重寫前端畫面與controller部份,後端以其他framework做好的部份仍可以重複使用。ZK甚至做了一些用來整合Spring的部份,不過這在CE版中沒有提供。 - 學習資源豐富
Java World的AJAX討論區。
官網的文件完整, 並由ZK採用者根據不同主題撰寫的Small Talk, 以及互動頻繁的討論區,以上都是採用framework時要評估的指標之一。
授權
要注意授權,最自由的就是ZK 5 CE以LGPL釋出,其他版本大多以GPL釋出。
CE版幾乎可以符合大部分的需要,當然在元件部份會比PE, EE版少。
ZK5不同版本間的元件差異比較表
留言