ElementUI 不維護了?供我們選擇的 Vue 組件庫還有很多!

2021-01-11 紙鶴視界

前文回顧:Vue+Spring Boot 前後端分離的商城項目開源啦!

Vue 組件千千萬,只要不行咱就換。

ElementUI 近況

根據我最近的觀察,得知一些關於 ElementUI 維護人員都退去的消息,這意味著什麼?意味著已經學不動的我們,不用再去學新東西了,開不開心?意不意外?

說正經的,這意味著後期 ElementUI 可能無人維護,就算 Vue3.0 正式版出來 ,ElementUI 的代碼也將不會被迭代。從下面的圖片中我們也可以看到,最新的一次更新在今年的 5月18日,Github 上 46k+ 的項目,整整三個月沒有迭代更新了。

這裡放幾個知乎連結:

element-ui 是不是不維護了

如果 ElementUI 不維護了,也不再支持 Vue 3了我們該怎麼辦呢?

仔細翻閱上述知乎回答,有些比較閒的作者已經 fork 了 ElementUI 的源碼,自己改造適配 Vue3,在此我只能說兩個字:敬佩。

那麼面對這樣的情況,作為前端開發的我們應該如何將損失降到最低呢?

我的答案是:可以換 UI 組件庫的話儘量早點換,避免後期因為框架的問題沒能解決而坑了項目,僅代表個人觀點。

如上圖所示,我最近開源的 Vue 版的新蜂商城項目選擇的組件庫是 Vant,不出意外應該會持續更新,這樣就少了一些困擾。

newbee-mall 在 GitHub 和國內的碼雲都創建了代碼倉庫,如果有人訪問 GitHub 比較慢的話,建議在 Gitee 上查看該項目,兩個倉庫會保持同步更新。

newbee-mall in GitHub : https://github.com/newbee-ltd/newbee-mall-vue-appnewbee-mall in Gitee : https://gitee.com/newbee-ltd/newbee-mall-vue-app如何選擇一個好的 UI 框架作為項目的組件庫

好看先拋開大不大廠不說,中小廠為了加快開發效率,可能不會對 UI 組件庫的樣式做太多的改動,這就要求 UI 組件庫本身就要自帶顏值。大廠加持先不說大廠要有多大吧,起碼要有獨立的團隊去維護組件庫,若是桃園三結義一般因為某些意氣用事,要搞一個組件庫,最後公司賣給某寶,撒手框架不管,這就比較尷尬。好的生態什麼是生態,就是圍繞著這個框架的周邊設施是否齊全。比方說 Github 上的 Issue 是否能快速給予提問者反饋,是否有論壇社區等網站讓使用者可以貢獻自己的二次開發的組件(物料庫),開源作品多不多,文檔寫得好不好(特別是中文文檔)等等,都將決定這個組件庫的發展好壞與否。以上排名不分先後,每一條都很重要,請根據自己公司業務的實際情況,酌情選擇。

市面上現有的組件庫分析

說到組件庫,React 我先不提了,因為統一標配 Ant Design。

Vue 的組件庫可謂是百花齊放、琳琅滿目、選不過來,下面我按照個人印象給大家評價一下市面上這些有人用的 Vue 組件庫。

以下介紹順序,分先後,按照 Github 的數。

ElementUI

作者:餓了麼團隊(現已被阿里收購)Github star:46.8k+ 屬性:PC 端組件庫

簡介:內涵 55+ 個網頁開發常用組件,並且組件庫結合了 vue-cli 出了相應的插件 Element 插件,你可以用它們快速地搭建一個基於 Element 的項目。引入方式也支持了按需引入,以達到減小項目體積的目的。在主題方面,官方自己提供了一些,並且可以上傳自定義主題。

相關開源項目:

vue-element-admin:一款基於 ElementUI 二次開發的後臺開源項目。vue-manage-system:基於 Vue + Element UI 的後臺管理系統解決方案。vue2-element-touzi-admin:基於 Vue2.0 + vuex + ElementUI 後臺管理系統。element3:慕課網講師蝸牛老師個人維護的一個 ElementUI + Vue3.0 版本,當然現在可能就是 beta 版本的 Vue3.0。自己平時做項目拿來把玩可以,但是用於公司生產環境需要三思。總結: 從這幾個比較好的開源項目類型可以看出,ElementUI 多數用於後臺管理系統的頁面開發,業務組件也多用於數據的處理以及表格表單的展示,但是還是那句話沒人維護了,要是用的同學請慎重考慮一下後面要更新的 Vue3.0。

Vuetify

作者:John Leider、Heather Leider、Kael Watts-Deuchar 等,一群國外開發大佬,詳情可以點擊上面的 Github 地址查看。Github star:27k+ 屬性:PC 端組件庫

簡介:Vuetify 是 Vue.js 的頭號組件庫,自 2016 年以來一直在積極開發。這點可以說相當優秀,從他們的官方文檔上整齊的廣告可以看出,該組件庫受到廣大甲方的一致好評,紛紛投來廣告。在生態上做的也相當到位,甚至還有付費的主題。相應組件的文檔也非常詳細,有用例和 API 的解釋,在開發的過程中能減少很多不必要的麻煩。

相關開源項目:

vuetify-material-dashboard:一個基於 vuetify 設計風格的管理系統。adminify:同樣是一個集成 vuetify 組件庫的開源項目。vue-movie:vuetify + vue 仿豆瓣電影項目。electron-vue-music:electron + vue + vuetify 仿網抑雲音樂。總結: 難道是我的錯覺嗎?國內的小夥伴們都非常愛國,這個組件庫在 Github 幾乎找不到什麼好的開源項目,不兼容 Edge 和 IE 瀏覽器讓它在我們國內可能不是很吃香。若是公司有對 IE 的支持需求,選它的時候要三思而後行。

Vux

作者:airyland 等個人維護項目Github star:17.2k+ 屬性:Mobile 組件庫、基於WeUI

簡介:我很欣慰國內有這樣優秀的個人開發能開發出這樣不錯的組件庫,集結了一些有志之士一起維護著這個看著並不怎麼驚豔的開源項目。作者在官方文檔下方就直說了:「體驗不佳,維護靠個人。「 我再看了看主要貢獻者的 Github 活躍程度,以及近期的 Issues 解決情況,我敢斷言,這個框架只要作者還健在,應該不會歇菜。特別是微信 H5 開發的朋友,這款組件庫的 UI 是基於微信官方樣式設計的,十分貼合,建議使用。

相關開源項目:

vux2.5-webapp:一個基於 vux 開發的商城項目。vue2-vux-fitness-project:一個基於 vux 開發的種子項目,同學們可以拿這個項目作為啟動項目。vue-music:vux + vue 仿網抑雲音樂項目。總結: 文檔好、組件多、還有又拍雲的獨家贊助。但是是個人維護的項目,並且最新的更新時間也是2019年4月份(感謝評論的小夥伴提出建議),不是很推薦使用。

Vant

作者:有贊技術團隊Github star:14.6k+ 屬性:Mobile 組件庫

簡介:Vant 是一個移動端組件庫,支持 TS、SSR、按需引入、國際化等等,最重要的是它還支持小程序。官方文檔支持中英文,並且文檔對開發者也是非常友好,有用例和展示效果。組件豐富,因為有贊團隊是做商城類的,所以 Vant 支持了一些商城的特色組件,如地址欄、省市區、商品卡片、優惠券、提交訂單、商品規格等等。

相關開源項目:

newbee-mall-vue-app:新蜂商城 Vue 版本。

vant-demo:Vant 官方示例合集,包含了 Vant、Vant Weapp 和 Vant Cli 相關的示例,詳細內容請打開各目錄查看。vant-weapp:Vant Weapp 是移動端 Vue 組件庫 Vant 的小程序版本,兩者基於相同的視覺規範,提供一致的 API 接口,助力開發者快速搭建小程序應用。總結: 看了以下 Github 的 Issue,最近一次更新在前幾天,說明框架一直在維護中。有贊目前已經上市,公司內部都是使用 Vant 進行開發,所以開發者們不必擔心這個組件庫不再被維護,相信 Vue3 出來之後,團隊也會對組件庫做升級處理。

Ant-design-vue

作者:唐金州Github star:11.3k+ 屬性:PC 組件庫

簡介:這裡是 Ant Design 的 Vue 實現,開發和服務於企業級後臺產品。加了 ant 貌似是螞蟻金服開發的,其實是個人按照 ant-design 做了一對一的臨摹。

相關開源項目:

ant-design-vue-pro:基於 Ant Design of Vue 實現的 Ant Design Pro。vue-alain:使用 Vue-cli 3.0、TypeScript、ant-design-vue 實現的中後臺框架。k-form-design:基於 Vue 和 ant-design-vue 實現的表單設計器。總結: ant-design-vue 也算是國內個人開發者裡,臨摹比較成功的案例,乘著螞蟻金服這波流量,迅速漲星星。組件還算看得過去,問題也更新的挺及時的,中規中矩的一個組件庫,可用。

Cube-UI

作者:滴滴團隊Github star:8.3k+ 屬性:Mobile 組件庫

簡介:從官方文檔一眼就看出它是滴滴團隊開發維護的,組件數量不是很多,沒有什麼特色,最新版本居然是今年4月份的,版本更新也不是很及時。

相關開源項目:

cube-application-guide:一個快速上手 cube-ui 的教程。總結: 這裡就不做過多介紹了,也只有滴滴內部的人員會去使用了,畢竟 Vue 移動端組件那麼多,我為什麼要選一個又醜維護又不及時的組件庫呢,再見。

Mand-Mobile

作者:滴滴團隊Github star:2.7k+ 屬性:Mobile 組件庫

簡介:Mand Mobile 是面向金融場景設計的移動端組件庫,基於Vue.js實現。目前已實際應用於滴滴四大金融業務板塊的10餘款產品中。40+ 的實用組件,滿足基本的業務需求。

相關開源項目:

palette:mand-mobile 的視覺主題編輯器。總結: 這個移動端組件就非常有特點了,就好像 Vant 針對的是電商,Mand 針對的是金融業務。內部有豐富的金融業務相關的組件,如金融數字、票據、驗證碼、收銀臺、折線表、刻度尺、數字鍵盤等等。要是你的公司是做金融業務的,可以嘗試使用這套組件庫。

NutUI

作者:京東團隊Github star:2.2k+ 屬性:Mobile 組件庫

簡介:2020 年初新出的一個船新組件庫。NutUI 是一套京東風格的移動端組件庫,開發和服務於移動 Web 界面的企業級產品。50+ 高質量組件,40+ 京東移動端項目正在使用。

相關開源項目:

nutui-demo:基於 Vue CLI 搭建 NutUI 的相關示例項目。總結: 剛剛出來,開源項目不是很多,京東這個組件庫要是做得好的話,可能會超過 Vant 有贊的,畢竟東哥把我們都當作兄弟,他的技術團隊肯定不會坑我們。組件內有幾個特色組件,如數字倒計時、圖片懶加載、視頻、配送時間、轉盤抽獎、籤名、地址選擇等等。說實話,看到轉盤抽獎的時候,我都驚了,京東~真有你的!!

還有很多很多默默無聞的個體戶,用心的維護著自己的組件庫,在這就不一一拿出來介紹了,因為真的很多!!!也希望大家也可以在評論區暢所欲言,說說你們喜歡的組件庫,感謝大家的觀看。

除註明轉載/出處外,皆為作者原創,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利。

相關焦點

  • Vue 3下element-ui用不了怎麼辦,element-plus來幫你
    element-plus你可以理解為是element-ui支持Vue 3的版本,element-plus是一套支持Vue 3.0的組件庫,提供的組件涵蓋了絕大部分頁面UI的需求。在Vue 3的腳手架項目中,首先安裝element-plus的npm包,命令如下所示:npm install element-plus -S編輯main.js,引入整個element-plus組件和所需的樣式,由於element-plus組件內部默認使用英語,而我們項目需要使用中文
  • 餓了麼公司前端團隊開源前端基於 Vue的桌面端組件庫-Element
    # npm i --save element-angular或者CDN目前可以通過 unpkg.com/element-ui 獲取到最新版本的資源,在頁面上引入 js 和 css 文件即可開始使用。<!
  • 開源組件分享-Avue基於elementUI CRUD最強封裝
    這些框架用過的應該都很熟悉了,今天我我要介紹的是另一款UI組件Avue.js,之所以介紹Avue.js因為我前段時間使用過,裡面有些功能確實很方便,比如使用Avue的表格組件,設置幾個對應的屬性後,頁面的搜索條件、導出、篩選、增刪改查功能都不需要自己去處理了。
  • Element-ui簡單使用方法
    Element-ui,是一套為開發者、設計師和產品經理準備的基於Vue 2.0的由餓了麼公司出品的桌面端組件庫。下載安裝npm install vue #安裝Vuenpm i element-ui -S #安裝Element-ui圖標,el內置了許多圖標,使用icon="iconname"
  • vue-element-admin 4.0.0 正式版發布
    #1591 增加了 fearure[TagsView]: add affix porperty #1577 移除了 tree-table 組件。 element-ui v2.7.0 開始支持tree-table,所以不再獨立維護。
  • 如何創建vue項目並使用element框架中的el-select
    1、在電腦硬碟上,找到一個位置,新建一個文件夾wmn;滑鼠右鍵選擇Git Bash Here,並在Git窗口輸入cnpm install --global vue-cli命令:cnpm install --global vue-cli
  • 封裝element-ui表格,我是這樣做的
    日日加班至夜半,環視周圍無人走;明晚八點準時走,誰不打卡誰是狗。使用過element-ui的表格的同學應該都有這樣的體會,做一個簡單的表格還比較容易,但如果這個表格包含了頂部的按鈕,還有分頁,甚至再包含了行編輯,那開發工作量就成倍的增加,特別是在開發管理系統的時候,表格一個接一個的去開發, 即浪費時間,還對個人沒有什麼提升。
  • 官方Element Plus for Vue 3.0 Beta 版本今天發布了!
    async-validator等核心依賴完善 52 種國際化語言支持除此以外,還有:全新的視覺體驗優化的組件API直接來到Element Plus官網,先進行安裝:npm install element-plus --save關於快速上手可參考官網,裡面對於全局配置、按需引入以及如何與新版的vue-cli
  • 如何在vue項目中使用sass並設置元素樣式
    下面利用實例說明:1、打開HBuilderX開發工具,新建項目,選擇普通項目;然後輸入項目名稱wmk,選擇vue模板,接著點擊創建按鈕新建項目,選擇vue模板2、在項目中src/components文件夾下,新建vue文件,輸入文件名稱,點擊創建
  • Laravel + Element 超簡單實現分頁效果案例教程
    size=3&page=2二、vue-element-admin 前端框架1、Element-UI 是基於 Vue 2.0 的桌面端組件庫,內置有 Pagination 分頁組件。vue-element-admin 是一個後臺前端解決方案,它基於 vue 和 element-ui 實現,vue-admin-template 是其簡化版。
  • 如何寫一個vue組件專題及常見問題 - CSDN
    如何使用vue寫一個組件庫新建vue項目使用vue-cli初始化一個項目:vue init webpack VueComponentcd VueComponentnpm installnpm run dev以上就新建好了一個vue項目項目目錄首先,定義好目錄,經過觀察大多數的組件庫,基本是這樣的目錄
  • vue3.0手機聊天室|Vue3+Vant3仿微信界面
    項目簡介Vue3Chat是基於vue3.x+vuex4+vue-router4全家桶技術和vant3.x構建開發的一款mobile仿微信界面聊天實例。實現了發送圖文消息、圖片|視頻預覽、位置查看、紅包|朋友圈等功能。
  • 什麼是VUE?VUE與JS的對比
    我們需要一個UI元素和屬性相互綁定的方法 2. 我們需要監視屬性和UI元素的變化 3.我們需要讓所有綁定的對象和元素都能感知到變化1.1.1. vue與js的對比1.1.1.1. js的實現(了解)<!
  • Element- UI 點擊按鈕實現樹形數據table全部展開和摺疊
    本文中element-ui版本為 2.13.0Element- UI中樹形數據table有一個屬性default-expand-all是控制樹形數據的展開和摺疊的,但是我們如果使用按鈕動態更改該屬性是沒有效果的,因為其只在table第一次初始化的時候有效。
  • 如何在Vue3框架中使用Element Plus
    安裝element-plus8、打開main.js文件,導入element-plus的組件打開main.js文件,導入element-plus的9、在src/components文件夾,新建vue文件ButtonData.vue
  • Vue+Axios+Vuex+Vux+Vue-Router全家桶搭建前端框架
    等等,太多了,那我們如何在這繁雜的框架中選擇一個合適的呢?其實也不難,秉承效率第一的原則,首先我們必須選擇一個能提高我們工作效率的,所以此時就要對他們有一個簡單的了解,簡單說一下:一、Angular依託於老大哥Google,應用很廣泛,而且相對來說比較成熟穩定一些,然而他有一些比較晦澀難懂的語法,雙向綁定不是容易理解;而且學習成本相對來說比較大,入手不容易,況且很難與現有項目無縫融合,開發成本也就高了;二、再來看看React,出身名門
  • Vuetify - 廣受歡迎的 Material Design 風格的開源 UI 框架
    Material Design 風格 UI 框架Vuetify 是一個基於 Vue.js 精心打造 UI 組件庫,整套 UI 設計為 Material 風格。能夠讓沒有任何設計技能的開發者創造出時尚的 Material 風格界面。
  • Vue全家桶之什麼是Vuex
    它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。Vuex 是幹什麼的?試想一下,如果在一個項目開發中頻繁的使用組件傳參的方式來同步data中的值,一旦項目變得很龐大,管理和維護這些值將是相當棘手的工作。為此,Vue為這些被多個組件頻繁使用的值提供了一個統一管理的工具——VueX。
  • vue高級進階系列——用typescript玩轉vue和vuex
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫用過vue的朋友大概對vuex也不陌生,vuex的官方解釋是專為 Vue.js 應用程式開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
  • 如何用純css打造類materialUI的按鈕點擊動畫並封裝成react組件
    正文首先我們看一下materialUI的按鈕點擊效果:本質上也是用了css3動畫的特性, 筆者查看原始碼和通過點擊發現materialUI會根據點擊位置不同而作不同位置的動畫,這個有點意思.我們先不講這麼複雜的例子,下面通過css3的方案來實現一個類似的效果.筆者實現的效果如下:上圖已經是筆者基於react封裝好的一個按鈕Button組件,那麼我們就先一步步實現它吧