大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。

由于录制视频的需要,要做前端UI组件库的选型。平时国内外也见了不少基于Vue的UI组件,积累了一些素材,现在分享给大家。

本文讨论的主题包括:

  • 为什么使用第三方组件库
  • 第三方UI库比对
  • 选型的依据
  • 我选的选型

为什么使用第三方组件库

现在这个年代,好像问这么一个问题很傻,谁会自己造轮子呢?确实是这样。但是对于刚毕业的同学,或者从Ext.js年代过来的同学可能不会觉得奇怪。因为在前端组件库百花齐放的今天,谁会想到会出现选择困难症,这是其一。其二,对于刚毕业的同学或者坚持技术优先,有技术控的程序员来说,往往会缺少整体思维,他们会忽略商业、市场、成本效率等因素。技术和业务互为因果,螺旋向上。我们不应该放弃下面这些重要的理由:

  • 省时:如果创建一个具有大量配置、很少错误和跨浏览器支持的健壮的日期组件需要几周时间,而使用第三方UI组件库可能你只需要不到4分钟的时间。
  • 省钱:由于UI组件库为您节省了无数的时间,它间接地为你节省了开发成本。
  • 可靠:顶级UI组件库有专业的人员提供维护,并拥有强大的社区来提供改进。
  • 快速:如果你能够比竞争对手提前几个月发布应用,这对公司的成功是很有帮助的。

第三方UI组件库比对

国内

型号 Star 单测 GitHub 演示后台 背景 原型设计
Element UI 52.6k 81% vue-element-admin(社区) 78.2k 跳转 饿了么 Axure,Sketch
Ant Design Vue 17k 87% Pro(社区) 9.6k 跳转 社区主导,蚂蚁金服技术支持 Axure,Sketch
iView 24k iView-admin 16.2k 跳转 TalkingData

大家可以看到,我这里从流行度,性能,背景等维度进行对比,我觉得大差不差。如果从流行程度来看,你选择饿了么肯定没错,生态活跃得不要不要的。

虽然Ant官方宣传的单测试性能更高,但是仅为参考。

从背景看现在都归于阿里系了,后台确实硬实。而且他们都有社区主导的Admin管理后台,你可以跳入进去看看。相信对国内的前端同学,没有不进去串门过的,甚至都有点审美疲劳了。

所以,这次我在视频录制的时候,刻意避开国产,具体那一款,我在后面揭晓。

另外,还有一个维度我觉得也很重要,就是升级的频率。虽然Vue3出来有将近2年的时间了,但是生态其实并不完善,有些框架会适配快一点,有些则比较乌龟。所以,你如果想要尝鲜,务必考虑好。不管你选的是什么版本,组件库的选择并不影响Vue3的学习,而且学习先进技术必须提倡,因为这是趋势。但是Vue2不能放弃,大量的项目还跑在它上面呢(目前我知道的Element-plus支持Vue 3.0)。

国外

如果你对国产的那么几款Vue组件库麻木了,接下来我给你介绍几款舶来品。

  • BootstrapVue:这是一款基于Vue.js的流行库,它使用Bootstrap设计系统。它在npm网站上每周有近250000次下载。

  • Buefy:这也是一款基于Vue.js的流行库,使用Bulma的设计风格,每周在npm网站上下载45000次。

  • PrimeVue:这是一款基于PrimeFaces设计的UI组件库,也可用于React、Angular和Java/.NET web应用。

  • Quasar:从技术上讲,这不是一个库,而是基于Vue.js之上的一个框架。基于Material设计,有自己的CLI,可编译为支持Electron和iOS创建桌面应用程序,支持使用Cordova或Stencil创建Android应用程序。如果您计划在跨平台开发中重用代码库,我推荐使用。Quasar框架还提供服务器端渲染,这有助于搜索引擎对Vue的页面和内容进行索引。

  • Vuetify:Vuetify是谷歌创建的一款UI组件库,基于Material 的设计风格,支持移动和Web应用。它npm 250000下载/周。它是如此流行,以至于它也被移植到Angular,React,Svelte, Ember.js和其他JavaScript框架。

选型的依据

我刚才在前面叨叨过了,每个人的考察维度都会有所侧重。但是我坚持社区活跃程度、后台背书厂家、性能、版本迭代频率应该不会出现大的问题,如果你有更好的理由,希望您帮我补充下,不胜感谢。

为什么我没有在这里把颜值列进来,主要是现在大伙都在互相抄作业,导致我五色有点目盲。我确信我的审美确实受到了影响。

你可能会觉得代码优雅,简洁度什么的。我也不觉得这个很重要。JAVA的代码简洁吗,没有!这里没有武断的意思,人家走的是早起的鸟儿有虫吃,把生态建设起来了,然后圈粉无数,随之又催生出许多杀手级别的应用。

我选的选型:Vuetify组件库

我选谷歌的这款组件库,符合我刚才提到的选型标准。另外,和饿了么相处到麻木了,想呼吸一下新鲜的空气。

  1. 官方地址:
  1. vue2.0安装步骤
  • 新建:勾选Router和Vuex
  • 编译:yarn build
  • 安装:vue add vuetify(过程选项默认)
  1. vue3.0安装步骤
  • 新建:勾选TS、Router和Vuex
  • 编译:yarn build
  • 安装:vue add vuetify(过程选项默认)



如果你在安装过程遇到上面的问题,可以在main.js中添加如下代码,重新执行上一步操作。不建议3.0,官方还在开发中,让子弹飞一会儿吧。

new Vue({ render: h => h(App), }).$mount('#app');

  1. 安装后的变化:



Vue CLI创建了一个Vue.config.js配置文件(用于转化Vuetify),还有一个Vuetifiy.js文件(为应用添加Vuetify的全局功能)。Vue CLI还会更新package.json,index.html, App.vue, main.js, logo.svg和HelloWorld.vue。

  1. 效果展示

    安装并运行后的效果展示。

总结

好就介绍这么多吧,希望您有所收获,感谢您的捧场。

基于Vue的前端UI组件库的比对和选型的更多相关文章

  1. 整理目前支持 Vue 3 的 UI 组件库 (2021 年)

    最近,让前端圈子振奋的消息莫过于 Vue 3.0 的发布,一个无论是性能还是 API 设计都有了重大升级的新版本.距离 Vue 3.0 正式版发布已经有一段时间了,相信相关生态周边库也正在适配新版本中 ...

  2. Web 前端 UI 组件库文档自动化方案 All In One

    Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...

  3. GearCase UI - 自己构建一套基于 Vue 的简易开源组件库

    最近 1 ~ 2 月除了开发小程序之外,还一直在继续深入的学习 Vuejs.利用零碎.闲暇的时间整合了一套基于 Vue 的 UI 组件库.命名为 GearCase UI,意为齿轮盒.现在把该项目进行开 ...

  4. 基于Vue搭建自己的组件库(1)

    本项目演示地址:https://husilang.github.io/zm-ui 项目参考文章:从零开始搭建Vue组件库 VV-UI 项目的初衷是学习怎么封装一个基于Vue的UI组件库,顺便记录每个步 ...

  5. 一款基于Vue的扩展性组件库 VV-UI

    github: https://github.com/VV-UI/VV-UI 演示地址: https://vv-ui.github.io/VV-UI/#/meta-info 1. LoadingBar ...

  6. Vue项目中使用基于Vue.js的移动组件库cube-ui

    cube-ui 是滴滴公司的技术团队基于 Vue.js 实现的精致移动端组件库.很赞,基本场景是够用了,感谢开源!感谢默默奉献的你们. 刚爬完坑,就来总结啦!!希望对需要的朋友有小小的帮助. (一)创 ...

  7. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基 ...

  8. [转载]前端——实用UI组件库

    https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...

  9. 强烈推荐优秀的Vue UI组件库

    Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司的Web前端项目开发中,多个项目采用基于Vue的UI组件框架开发,并投入正 ...

随机推荐

  1. 记录人生中的第一个bug

    对象的引用 使用**只是拷贝了字典的最外层,加个deepcopy可以实现深拷贝,递归的去复制对象 bug来源: 在一次将数据库里的数据转成json格式过程中,在遍历数据库对象时,对象的引用不当,导致最 ...

  2. NC16660 [NOIP2004]FBI树

    NC16660 [NOIP2004]FBI树 题目 题目描述 我们可以把由"0"和"1"组成的字符串分为三类:全"0"串称为B串,全&quo ...

  3. Neural Networks

    神经网络能够使用torch.nn包构建神经网络. 现在你已经对autogard有了初步的了解,nn基于autograd来定义模型并进行微分.一个nn.Module包含层,和一个forward(inpu ...

  4. Collection子接口:List接口

    1. 存储的数据特点:存储序的.可重复的数据. 2. 常用方法:(记住)增:add(Object obj)删:remove(int index) / remove(Object obj)改:set(i ...

  5. Aspose最新版文档格式转换使用破解

    Aspose简介 Aspose.Total是Aspose公司旗下全套文件格式处理解决方案,提供最完整.最高效的文档处理解决方案集,无需任何其他软件安装和依赖.主要提供.net.java.C++d三个开 ...

  6. Josephus问题(Ⅱ)

    题目描述 n个人排成一圈,按顺时针方向依次编号1,2,3-n.从编号为1的人开始顺时针"一二"报数,报到2的人退出圈子.这样不断循环下去,圈子里的人将不断减少.最终一定会剩下一个人 ...

  7. 暑假打工 2 个 月,让我明白了 Keepalived 高可用的三种路由方案

    暑假打工 2 个 月,让我明白了 Keepalived 高可用的三种路由方案 这是悟空的第 158 篇原创文章 原文链接:首发悟空聊架构 官网:www.passjava.cn 你好,我是悟空. 前言 ...

  8. C#程序设计的6大原则

    设计模式:面向对象语言开发过程中,遇到各种场景和问题,解决方案和思路沉淀下来,就是设计模式.俗称,套路 设计模式的六大原则:理解为面向对象语言开发过程中推荐的一些指导性的原则,通俗的说是套路的 套路 ...

  9. Python 元类详解

    一.Type介绍 在Python中一切皆对象,类它也是对象,而元类其实就是用来创建类的对象(由于一切皆对象,所以元类其实也是一个对象). 先来看这几个例子: 例1: In [1]: type(12) ...

  10. 机器学习(公式推导与代码实现)--sklearn机器学习库

    一.scikit-learn概述 1.sklearn模型   sklearn全称是scikit-learn,它是一个基于Python的机器学习类库,主要建立在NumPy.Pandas.SciPy和Ma ...