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 that the Vue core team is very proactive when it comes to solving problems of the 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
. It's an excellent TypeScript decorator for class-style Vue components, but it'll be built into Vue 3.0, which is scheduled for release somewhere in 2019.
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.
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 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.
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.
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 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.
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.
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 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 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.
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 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 about you? What are your favorite Vue libraries? Let us know in the comments below or reply on Twitter 👇.
Best front-end UI framework for #Vue?
— X-Team (@xteam) April 1, 2019