vue-antd-ui是一個站在巨人(antd)肩膀上的UI元件庫,有著其它元件庫沒有的優勢,幾乎繼承了antd所有的功能特點,自帶antd各種buff。
為了更好地發展維護,元件庫名稱全面更新為更具品牌標識度的ant-design-vue(自2018-08-05)
vue-antd-ui誕生於17年9月份,18年3月份正式開源,800多次commit,釋出23個版本,51個元件,共計686個單測,測試覆蓋率85.19%。
得益於antd的穩定,vue-antd-ui自發布第一個版本起,都沒有破壞性的更新,本次釋出的1.0版本自然也沒有破壞性的更新。如果你在使用vue-antd-ui,你可以直接更新(npm i vue-antd-ui@1.0.0)。
自上次釋出文章:在Vue中使用JSX的正確姿勢後,元件庫除了解決使用者反饋的bug外,又新增了List、TreeSelect、Carousel三個元件,元件數量達到51個,相較於antd,僅有Mention、Drawer(3.7.0新增)還未開發,接下來我們也會盡快完成元件的開發。
另外,雖然在上期文章中單獨介紹了Vue JSX的使用,但有些開發者依然不太能夠接受JSX,為此我們對Form元件進行了升級,在保留原有API不變的情況下,新增了在模板語法中使用自動收集及校驗的功能。
是時候來一次競品對比了:
本次僅僅對比國內知名的element和iView,這兩個元件庫都是非常優秀的元件庫,元件數量都很豐富,質量也很高。
互動樣式:
互動樣式甚至動畫是一個很主觀的東西,這裡我不做評價,不撕逼!我只說一句:vue-antd-ui的樣式和動畫和antd 100%一致。
元件數量(僅對比差異元件):
元件 | iView | element | vue-antd-ui |
---|---|---|---|
ColorPicker 顏色選擇器 | 有 | 有 | 無 |
Calendar 日曆 | 無 | 無 | 有 |
List 列表 | 無 | 無 | 有 |
Scroll 無限滾動 | 有 | 無 | 可用List元件實現 |
以上差異如有遺漏,純屬疏忽!
元件質量:
質量是一個很難量化的指標,這裡僅提供單測覆蓋率作為參考:
iView | element | vue-antd-ui |
---|---|---|
暫無(出乎意料,看程式碼,單測還在補充中) | 86% | 85% |
國際化:
得益於antd在國際化上的積累,vue-antd-ui在國際化語言包上有著明顯的優勢。最主要的是vue-antd-ui可以使用元件的方式隨時更改包裹元件的語言,也就是說,同一個頁面中可以同時存在多種語言。
定製化:
如果說元件數量、國際化並不是那麼重要,那麼我想也許定製化有可能打動你。當時開發vue-antd-ui的一部分原因是在使用iView和element時很不方便(甚至不可以)去定製一些元素。
iView和element對於一些自定義元素都是採用render函式的方式,在不使用JSX的情況下,render函式那是相當複雜。得益於Vue 2.5.0版本之後新增的slot-scope
屬性,vue-antd-ui可以讓你繼續使用模板語法進行自定義元素。
PS:iView、element因要支援低版本的vue,暫時並沒有提供該功能。
修改:多謝提醒,element新版本已經有很多屬性支援slot-scope
周邊生態:
優勢:vue-antd-ui可以共享antd周邊設計資源 缺點:缺少腳手架及各種admin,歡迎有興趣的同學加入我們共建相關資源
連結:
倉庫地址: github.com/vueComponen…