VUE UI框架對比 element-ui 與 iView

element VS iview
(最近項目UI框架在選型 ,作了個分析, 不帶有任何利益相關)
主要從如下幾個方面來作對比
使用率(npm 平均下載頻率,組件數量,star, issue…)
API風格
打包優化
與設計師友好性vue

1,使用率(npm 平均下載頻率,組件數量,star, issue…)
element-uireact

npm 下載次數 以及issuewebpack

clipboard.png

目前明顯未解決bug遺留數量 ,git

clipboard.png

這個應該跟生態也有關係, 用element 的人多,發現bug 的概率更大,2是iview 裏面有不少issue 寫明是UI組件的問題 但未標明是確切的bug .github

clipboard.png

以上對比 其實能夠看出, element 開發者團隊規模大於iview 團隊,其結果就是 不管是提交代碼頻率, 發佈版本數量 都比iview 更強!web

clipboard.png

截止2017/6/17 最新支持組件對比npm

clipboard.png

clipboard.png

clipboard.png

(PS 這個是直接看的 官方文檔上面的組件列表 ,不表明最後結果)element-ui

結論 ,element 生態更好,使用頻率遠超過iview ,element開發團隊實力更強
一些小衆組件上各有所長 總體iview 更豐富(時間軸,加載進度條,氣泡卡片 ,BackTop,圖釘)
API風格
經過使用平率最高的 form table 日曆 select 等比較二者api

clipboard.png
對應代碼babel

clipboard.png

明顯感受 iview 的api 更加簡潔,在生成相似表格 下拉框這些較複雜的組件時 , iview 的方式相似於antdesign , 好處是直接傳數據進去,在內部實現了模板生成,高效 快捷。 而element 則是用到到v-for vue指令結合的方式去生成,批量生成元素。

clipboard.png

表格 操做列 自定義渲染的時 ,iview 使用的是 vue的 render 函數, element 直接在template 中插入對應模板
表格分頁都須要 引入分頁組件 配合使用

clipboard.png

二者api 整體比較 ,iview 要比element 簡潔許多。 餓了麼更側重於在template裏直接去渲染模板
思想上 我的以爲iview偏向react, element 更vue

表單校驗 二者都使用同一款插件 async-validator 校驗方式同樣

項目優化角度
首屏優化,第三方組件庫依賴過大 會給首屏加載帶來很大的壓力,通常解決方式是 按需求引入組件
element-ui 根據官方說明 現須要引入 babel-plugin-component 插件 作相關配置 而後直接在組件目錄 註冊全局組件
clipboard.png

這裏感受官方給的文檔不是很詳細

clipboard.png

主題
iview

自己提供了一套主題可供選擇,除此以外 自定義主題

方法一(官方推薦,前提條件是使用webpack):
新建一個.less 文件 , 先在less文件中引入官方樣式文件 而後在此基礎上覆寫

clipboard.png

方法二 :
官方提供了 自動編譯工具iview-them 來編譯。乾的事情就是 把自定義的樣式和 github倉庫最新的樣式 經過工具生成一個新的樣式文件。

element-ui
若是隻替換顏色 ,可使用 在線主題生成工具 在線編輯顏色, 生成element-ui 主題 直接下載 再引入

深度定製主題
官方提供了 主題生成工具 element-them
執行命令 初始化獲得一個配置文件 ,修改相關配置 通過編譯獲得 獲得相關主題文件 再經過babel 插件引入

clipboard.png

雙方都提供了專門的工具用於深度定製主題,綜合比較 iview 更加簡單,element 主題定製須要配合 babel作一些預編譯 ,以及步驟更多 顯得更加複雜

過渡動畫
element 有內置過渡動畫 使得組件的切換變化 更具動感
iview 更爲中規中矩

對設計人員
element 提供了 Sketch 和 Axure 工具 對設計人員友好
iview 沒有提供

以上 ...

相關文章
相關標籤/搜索