Vue.js is an open-source JavaScript framework for building user interfaces and single-page applications. Ever since its release in 2014, Vue has seen nothing but growth.
2018 was no different, as evidenced by the popularity of VueConf and the fact that it received the highest satisfaction rating of all frameworks in the State of JS. People enjoy using Vue, or at the very least are interested in learning more about it.
Vue differs from its competitor React in the sense that the Vue core team is very proactive when it comes to solving problems of its framework. For example, Nuxt, a framework for building universal Vue apps, is being built by many of the same people who created Vue.
Another example is vue-class-component, which is an excellent TypeScript decorator for class-style Vue components that will be built into Vue 3.0, which is scheduled for release somewhere Q1 2020.
This being said, there are still certain Vue libraries that make working with Vue a better experience. Here are some of the best ones, ranked from most to least GitHub stars.
Element UI
Originating from China and created by the same developers as Mint UI (see below), Element UI is a desktop UI toolkit for web and desktop applications. This is a good library if you're looking to build an Electron application.
iView
iView is a UI toolkit with clean and elegantly designed widgets and components. It's actively being maintained (the last update was the 18th of March '19) and comes with an iView plugin for Vue CLI 3 that you can use to quickly build an iView-based project.
Vuetify
A reusable and semantic component library based on Material Design that supports all modern browsers and is compatible with Vue CLI 3. Vuetify has a big community, and you can ask for help on their Discord channel.
Mint UI
A mobile UI library with CSS and JS component. Although a Chinese project, the English docs are comprehensive and well translated. This is a very light-weight library, taking up less than 40 kb gzip space.
VuePress
Vuepress is a minimalistic, Vue-powered static site generator, although you can add dynamic Vue components in regular posts and pages. Each page generated has pre-rendered, static HTML, after which Vue takes over the static content and turns it into a single-page application.
Quasar
One of the most-mentioned Vue libraries, Quasar is a Vue framework for building responsive websites, hybrid mobile apps, Electron apps, and more. Quasar supports Google's Material Design, as well as the iOS native theme.
BootstrapVue
The name gives it away, but BootstrapVue combines the most popular CSS library with Vue. It's the implementation of Bootstrap 4 components and a grid system for Vue with WAI-ARIA accessibility markup.
Vue Material
Vue Material is a lightweight library built with Material Design. Its ecosystem comes with an advanced webpack SPA, a universal app with Nuxt.js for SSR, and a single HTML file for the simplest setup, all of which you can find on their website.
Vuesax
Vuesax wants to make building applications easier by improving the design, but without taking away the Vue functionality you're otherwise used to. Vuesax has its own Discord channel with almost 3,000 members.
AT UI
A great option if you don't want to use Bootstrap or Material Design. AT UI is a flat UI kit made specifically for web and desktop applications. It has an NPM + Webpack + Babel front-end development workflow with independent CSS styling.
Vuikit
Vuikit is a responsive UI kit for web interfaces based on the UIkit 3 framework. It's a monorepository managed by Yarn Workspaces that supports the latest versions of all modern browsers.
--
What are your favorite Vue libraries? Let me know in the comments below!
Top comments (5)
Thanks
I love Vuetify.
But my favourite one is Vuex ORM. It helped me a lot to simplify relationships between different objects.
I like to use BootstrapVue, is really useful and I can make apps without getting worried
I think a mention and link to the source here would be nice :)
blog.bitsrc.io/11-vue-js-component...
There are many "Top X Vue libraries" post online. I was unaware of this one. If I read other blog posts related to the one I'm writing, I usually read ones that aren't 2 years old. Things change too quickly to rely on posts from 2017.