國人開發的 Jquery UI -- MiniUI


今日在一網上閑逛,尋找一個比較好的Jquery UI,看到這個。特來介紹給大家。

Jquery MiniUI

官網網址:http://www.miniui.com/index.html

示例代碼:http://www.miniui.com/demo/index.html

API手冊:http://www.miniui.com/docs/api/index.html

開發指南:http://www.miniui.com/docs/tutorial/index.html

 

MiniUI系統架構

跨平台展現層控件

MiniUI是一套Javascript實現的控件庫,包含表單、表格、樹形、布局、導航等系列控件,滿足一體化WEB界面開發的功能需要。

它處於WEB客戶端,為客戶端使用者提供豐富的功能操作和強大控件。

支持JSP、ASP.NET、PHP、ASP、ColdFusion、Ruby on Rails等WEB開發平台。

支持IE6+、FireFox、Chrome、Safari、Opera等瀏覽器。

模塊化設計

MiniUI是基於模塊化思想設計開發的。

一個單獨的控件就是一個獨立的功能模塊,控件與控件之間實現松耦合,互不影響。

比如開發者可以單獨使用datagrid、menu、tree等控件,而不用額外加載其他控件,減少javascipt代碼量加載,優化生成效率。

Note:MiniUI默認包含了所有控件,壓縮后,js體積不超過200k。開發者也可以視開發需要,只加載使用的控件,不加載額外控件。

繼承體系

MiniUI控件是基於"面向對象"思想開發的,控件之間能實現繼承體系,減少重復代碼的出現。

mini.Control是控件基類,實現了id、style、cls、width、height、enabled等屬性,以及render方法。

其他控件都基於mini.Control繼承並擴展而來,從而獲得尺寸、樣式外觀和渲染呈現的能力。

MiniUI的繼承樹非常簡單,盡量避免復雜的繼承關系。任何控件,向上追溯1~3個父類,就可以找到mini.Control。

控件分類

任何一個控件都有屬於自己的功能價值,這也是它為什么設計開發的原因。

MiniUI將控件分為如下五個大類:

  • 表單控件:實現輸入框、單選、多選等功能。
  • 數據表格:實現列表數據顯示、操作等功能。
  • 樹形控件:實現樹形數據顯示、操作等功能。
  • 布局控件:實現整體、局部界面特殊方式布局顯示等功能。
  • 導航控件:實現界面分類、數據導航顯示等功能。

每一個控件分類都由一個以上控件組成,以實現更細化、更具體的功能。

表格和樹形控件是兩個特殊的分類,它們都是高級而復雜的控件,實現了復雜而豐富的功能。

創建和使用控件對象

如何創建和使用MiniUI控件對象。

首先,使用 "new" 關鍵字來創建一個控件實例:

var button = new mini.Button();

MiniUI的所有控件,都是"mini."開頭,再加上控件名稱。比如"mini.DataGrid"、"mini.ComboBox"等。

然后,設置屬性,並監聽處理事件:

button.setText("Hello");            //設置屬性
button.on("click", onHelloClick);   //監聽處理事件

最后,需要將控件對象呈現到頁面內:

button.render(document.body);

HTML標簽化方式創建對象

MiniUI提供了另外一種更簡單的方式來創建和使用控件對象。代碼如下:

<input id="helloBtn" class="mini-button" text="Hello" onclick="onHelloClick"/>

解釋如下:

  1. class="mini-button":表示此標簽是mini.Button控件對象。
  2. text="Hello":設置對象屬性。
  3. onclick="onHelloClick":監聽處理事件

Note:HTML的位置就是控件對象呈現的地方。不需要另外使用render方法將控件渲染呈現到DOM元素內。

MiniUI的所有示例都是用HTML標簽化方式編寫的。

使用HTML方式創建對象,減少80%的Javascript代碼量,更易寫、易讀、易維護。

只有一些事件處理函數,才需要另外寫Javascript方法。

與第三方控件集成

MiniUI非常注重與第三方控件的集成問題。因為控件的功能是有限的,而軟件開發的需求是無限的。

第三方控件有兩種形式:

  1. Javascript控件:比如jQuery、YUI、Dojo、ExtJS等。
  2. 插件控件:比如Flash圖表、Silverlight工作流引擎等。

MiniUI的所有控件,有一個獲得控件DOM元素的方法:

var button = mini.get("helloBtn");
var el = button.getEl();

開發者獲得控件的DOM元素后,可以appendChild等方法,將其移動到任何DOM元素內。

如果開發者想將一個Flash圖表對象,設置到mini.Panel面板內,可以這樣操作:

var swfChart = document.getElementById("swfChart"); //獲得Flash圖表DOM元素
var pbodyEl = panel.getBodyEl();                    //獲得Panel的bodyEl
pbodyEl.appendChild(swfChart);                      //將Flash圖表DOM元素,加入到Panel內

Note:通過暴露控件DOM元素對象的方法,開發者可以將MiniUI與任何第三方控件輕松集成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM