2011年12月26日

Wijmo - jQuery UI Widgets 網站前端開發的新利器

jQuery 讓網頁前端 JavaScript 的開發更容易,造福不少網站開發者,它在今年(2011)還獲選年度十大最重要的開源專案(Open source projects)。

但是對於 RIA(Rich Internet Application)的開發者來說,僅使用 jQuery 的核心無法解決打造圖形介面的需求,必須自己擴充或使用 3rd party 的套件。

jQuery UI 幫助開發者滿足一部分的需求,例如下拉式日曆、手風琴式選單(accordion)、對話盒(dialog)、美化按鈕等。

但是 jQuery + jQuery UI 仍不易滿足一些打造管理平台介面需求,例如需要資料方格(DataGrid)或圖表(Chart)等,jQuery UI 並沒有提供這類元件。

通常這類較複雜的需求,我會建議開發者考慮如 ExtJSEcho 等解決方案。

不過介於簡單(使用 jQuery UI)與複雜(使用 ExtJS)之間,存在一個麻煩的地帶。有些專案只要使用 jQuery UI 就能滿足 80% 以上需求,但剩下不到 20% 需要如 DataGrid 等進階元件,如果為了這少部分的需求,就要捨棄輕薄短小的 jQuery,似乎有點 over ...

以 DataGrid 來說,有許多以 jQuery 為基礎的 DataGrid 元件,它們通常不會有什麼問題,但不建議的原因是:不易與 jQuery UI 使用相同的佈景(theme)。

jQuery UI 本身定義了多種佈景主題,只要載入不同的 CSS 定義檔就可以切換。


但是多數 jQuery 的 DataGrid 並不會產生和 jQuery UI 佈景一致的外觀。

jQuery UI 主要提供兩類功能:1. 圖形介面互動行為(Interactions)及 2. 圖形介面元件(Widgets)。其中 Widgets 是比較缺乏的部份。

Wijmo 的出現,可以補足 jQuery UI 在 Widgets 方面的不足,它目前提供超過 30 種元件,並且以 jQuery UI 為基礎,對於佈景的一致性有相當好的支援。


這些在 jQuery UI 基礎上增加的功能包括:

樹狀選單

圖表

工具提示

資料方格

這些元件都是 ThemeRoller-ready,也就是可以依照 jQuery UI 定義的不同佈景切換顯示外觀,而有一致性的網頁元件風格。

這麼棒的元件要多少錢呢?

Wijmo 分成兩個版本,有 Open 及 Complete 兩種。

Open 版本提供比較多元的 MIT 及 GPL 兩種授權,如果你的專案本來就用 jQuery 也依循 jQuery 的 MIT 授權方式,那就可以繼續以 MIT 授權方式使用 Wijmo Open。可是 Open 版本並不包含如 Grid 等進階元件,目前僅提供 18 個(完整版 Complete 為 30 個)。

但是完整版本 Complete 就沒有提供 MIT 授權,僅有 GPLv3 及商業授權;採用 GPLv3 授權的專案,必須接受比較嚴謹的「開放原始碼」要求。而商業授權則需要支付 $299 美元(或包含支援服務的 $499),而取得授權的一方可以將它用於不限數量的專案開方上。

4 則留言:

  1. 你好,想請教您 關於 Wijmo Complete 付費,是指應用這個程式需要付費,還是用於商用要付費呢?

    回覆刪除
  2. 如果某公司的專案 A 使用 wijmo complete ,且專案 A 為開放原始碼並提供 GPLv3 授權,則不必支付 wijmo 費用。如果專案 A 不提供 GPLv3 授權,就必須向 wijmo 付費取得商業授權(Commercial License)。

    wijmo 的授權是以 developer 為單位,基本上一位 developer 必須取得一份授權(目前網頁並沒有說明大量授權方案)。但一位 developer 可以將 wijmo complete 同時用於多個專案上面。

    回覆刪除
  3. 如果某公司的專案 A 使用 wijmo complete ,且專案 A 為開放原始碼並提供 GPLv3 授權,則不必支付 wijmo 費用。如果專案 A 不提供 GPLv3 授權,就必須向 wijmo 付費取得商業授權(Commercial License)。

    wijmo 的授權是以 developer 為單位,基本上一位 developer 必須取得一份授權(目前網頁並沒有說明大量授權方案)。但一位 developer 可以將 wijmo complete 同時用於多個專案上面。

    回覆刪除

lyhcode by lyhcode
歡迎轉載,請務必註明出處!