幾款流行的HTML5 UI 框架比較

手機HTML5開發,大部分都使用現有的框架,這裏簡單比較幾個流行的UI 框架。做者(啓明星工做室 http://www.dotnetcms.org) 比較一下幾款流行的HTML5框架,我的意見,僅供參考。css

(1)MUI html

網址: http://dev.dcloud.net.cn/mui/jquery

優勢:MUI是數字dclound推出的一款流行框架,我的感受,這是目前最好的一個H5 UI框架,使用簡單,操做方便。web

缺點:MUI爲了達到原生效果,從新定義了Form表單裏input,select,textarea全部的樣式,這給用戶自定義樣式帶來的不便。bootstrap

例以下圖左圖是MUI裏,直接使用<select>標籤,是沒有下拉箭頭的,這會讓用戶迷惑。小程序

右圖,咱們能夠在HTML代碼裏,從新定義select讓其顯示。微信小程序

select {
    -webkit-appearance: menulist !important;
}

 其實,我在用bootstrap時,到想起當時bootstrap開發人員在定義table時的一句話,他們說他們本能夠經過CSS重寫table,可是,由於有些網站須要原始的table樣式,因此,爲了和前者兼容,他們方式了瀏覽器

經過全局CSS改變table默認樣式,若是開發人員像使用bootstrap的table樣式,只要增長 <table class="table"> 就能夠了,這樣,既不增長多少工做量,又能兼容過去的程序。微信

我認爲這點值得MUI借鑑。app

 

(2)WeUI

網址:https://weui.io/

 優勢:WeUI 是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官方設計團隊爲微信內網頁和微信小程序量身設計,令用戶的使用感知更加統一。因此,其樣式基本上核微信「長」的同樣。

缺點:抱歉,我對WeUI的評價不高,這和騰訊的大名徹底不符。我本來對WeUI指望甚高,結果實際測試很是使人失望。這些失望表如今太過於微信化,限制了他是使用廣度。

更主要的是,其CSS名稱與其餘H5框架徹底不同,以簡單的面板爲例,公認的命名方式爲:

複製代碼
 <div class="panel">
<div class="panel panel-header">
標題
</div>
<div class="panel panel-body">
主體
</div>
</div>
複製代碼

但weui的命名相似以下:header縮寫成了hd,body所寫成了bd,類的名稱,你叫作page__title也沒問題,問題是page和title之間是2個下劃線,而有些採用類名稱採用:中劃線和下劃線一塊兒用。

如weui-cell__hd。當你大量編寫頁面時,你腦子裏會不停的切換想着WeUI類到底叫什麼名字。

複製代碼
<div class="page panel ">
    <div class="page__hd">
        <h1 class="page__title">Title</h1> 
    </div>
    <div class="page__bd"> 

      <div class="weui-cell">
        <div class="weui-cell__hd"><label   class="weui-label">手機</label></div>
        <div class="weui-cell__bd">
          <span class="weui-input" id="mobile"  ></span>
        </div>
      </div>        
  </div>        
</div>
複製代碼

WeUI還有一個致命缺點:多一個span或者div均可能使得你的樣式徹底失效。例如以下,可能僅僅在body與tab__hd之間多了一個div,就會致使你頁面失效。

複製代碼
<body>
<div class=tab__hd>
</div>
</div>
</body>
和
<body>
<div>
<div class=tab__hd>
</div>
</div>
</div>
</body>
複製代碼

 

(3)Jquery Mobile

網址:http://jquerymobile.com/

優勢:這應該是最先的HTML5框架,

缺點:Jquery雖然很流行,可是不得不說JqueryMobile是一個失敗的做品。如今好像都中止更新了。JM最大的缺點是速度太慢。

這也難怪,瀏覽器支持的是CSS與JS,可是JM經過自定義不少data-*來重寫渲染最終的樣式,

例如以下代碼的 data-enhanced,data-icon,這些data-*屬性,瀏覽器並不能識別,須要JM的JS引擎解釋後,轉換爲CSS語言,

當頁面大量使用這些data-*屬性時,其性能極具降低,如今應該沒什麼人使用了。

 <input type="button" data-enhanced="true" value="Enhanced - Left">
  <input type="button" data-icon="delete" value="Left (default)">

 

(4)Bootstrap

網址:http://www.bootcss.com/

 優勢:兼容PC和手機,其推出的理念與樣式,啓發了不少後起之秀,例如將頁面分紅12份,根據分辨率不一樣,自動組合燈。在PC樣式上,具備不可替代的做用。

缺點:也正由於他須要兼容PC和手機,使得雖然PC樣式很優秀,可是手機效果只能說是「中規中矩」,畢竟「又想馬兒跑得快,又想馬兒不吃草」是不現實的。

 

(5)Framework7

網址:http://www.framework7.cn/

沒用過,可是看起來還不錯,值得推擠。

 

(6)Amaze UI

網址:http://amazeui.org

沒用過,其實Amaze有 基於 React.js 的移動端 Web 組件庫   http://t.amazeui.org 由於是基於React.js的,感受入門門檻挺高

 

(7)Layui

網址 http://www.layui.com

Layer目前人氣極具上升,不過她仍是偏重於PC

 

 

 

出處:https://www.cnblogs.com/mqingqing123/p/9197038.html

相關文章
相關標籤/搜索