Vaadin
RIA
富互聯網應用程序 (Rich Internet Applications) 是一種集桌面應用程序的最佳用戶界面交互功能與 Web 應用程序的普遍採用和快速、低成本佈署以及通信的實時快捷性於一體的新一代網絡應用程序。Vaadin 是一個用於創建 RIA 應用程序的優秀開發框架,所有的代碼全部採用 Java 語言實現,不需要編寫任何 JavaScript? 代碼。
歷史和功能特性
Vaadin 是一款使用 Apache V2 許可協議的開源產品
- 先進的 UI 組件框架:Vaadin 使用 Java 語言編寫服務器端驅動的 UI 組件,包含幾十種內建的 UI 組件。可以使用 HTML 模版或 Java 代碼動態設置界面組件佈局。組件內置有事件 - 監聽器模塊,可以方便快捷的處理 UI 事件。組件擁有 MVC 設計模式的數據綁定機制以及輸入信息校驗框架。
- 可定製的界面外觀: Vaadin 使用 CSS 來渲染界面外觀樣式,支持用戶自定義修改或構造全新的程序主題外觀。通過使用 GWT 技術,Vaadin 還支持瀏覽器的 Add-on 特性。
- 自動化的瀏覽器 - 服務器通訊: Vaadin 開發的應用程序為單一 Web 頁面的應用程序。Vaadin 會自動追蹤程序 UI 組件的狀態更新,部分的刷新頁面內容,並且能夠緩存客戶端瀏覽器中頁面的 DOM 子樹。
- 優秀的 Web 瀏覽器兼容性:使用 Vaadin 開發的應用程序不需安裝插件即可直接在瀏覽器中運行,它支持瀏覽器後退按鈕及深鏈接的使用,並且能夠自動處理 URL 參數。
- 強大的 Web 應用集成能力:Vaadin 可以在任意 JavaEE 兼容的系統中使用,它兼容 Java Servlet API 2.3,並且可以作為 JSR-168 兼容的 portlet 來運行,另外它還可以嵌入在單獨的 HTML 或 JSP 頁面中。
- 優化的開發模式:開發 Vaadin 應用程序只需要使用 Java 語言即可,不需要使用 JavaScript? 和 XML 配置,整個 Vaadin 運行時環境只需要一個 Jar 文件。
- 強化的應用程序安全性:Vaadin 使用服務器進行應用程序狀態管理,所有的業務邏輯代碼均在服務器端運行。使用了雙 cookie 提交模式以及雙重事件過濾技術,同時擁有非法事件和請求的過濾功能。
- 良好的集成開發環境 (IDE):Vaadin 擁有 Eclipse 和 Netbeans 的插件,可以在這兩個 IDE 中集成應用服務器進行快速開發。生成的應用程序產品為標準的 War 文件。同時還支持使 Firebug 進行調試。
- 廣泛的應用服務器和 Web 瀏覽器的支持
比較
表 1. Vaadin 與其他 RIA 開發框架的功能特性比較功能特性 | Vaadin 6.x | Ext GWT 2.0 | Flex 3 | GWT 1.7 | ICE Faces 1.8 | JQuery 1.3.2 | Smart GWT 1.3 | Wicket 1.4 |
---|---|---|---|---|---|---|---|---|
含有種類豐富的 Widget 組件 | *** | *** | *** | ** | ** | ** | *** | * |
不需要使用瀏覽器插件 | Y | Y | Y | Y | Y | Y | Y | |
不需要 Javascript 編程 | Y | Y | Y | Y | Y | Y | ||
使用 Java 語言擴展框架 | Y | Y | Y | Y | ||||
不需要使用 HTML | Y | Y | Y | Y | Y | |||
不需要 XML 配置 | Y | Y | Y | Y | Y | Y | ||
只需要進行服務器端編程 | Y | Y | Y | |||||
用戶界面的業務邏輯保存在服務器上 | Y | Y | Y | |||||
框架適用於創建網站而不是應用程序 | Y | Y | ||||||
框架適用於展示多媒體、視頻和廣告 | Y | |||||||
框架的開發和維護由商業公司負責 | Y | Y | Y | Y | Y | Y | ||
有商業的客戶支持和質量保證 | Y | Y | Y | Y | Y | |||
開發商提供框架的專家服務支持 | Y | Y | Y | |||||
開發商提供框架的 Add-On 擴展功能 | Y | Y | Y | |||||
可以在商業應用中免費使用 | Y | Y | Y | Y | Y | Y | Y | |
使用的開源許可證 | Apache 2.0 | GPL v3/Commercial | MPL 1.1 | Apache 2.0 | MPL 1.1 | MIT/GPL v2 | LGPL | Apache 2.0 |
Last modified 13 years ago
Last modified on Aug 24, 2011, 4:09:10 PM