Vue.js logo

Vue.js

A progressive framework for building user interfaces
13.9K
11.3K
+ 1
1.1K

What is Vue.js?

It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Vue.js is a tool in the Javascript UI Libraries category of a tech stack.
Vue.js is an open source tool with 160.5K GitHub stars and 24.2K GitHub forks. Here’s a link to Vue.js's open source repository on GitHub

Who uses Vue.js?

Companies
2579 companies reportedly use Vue.js in their tech stacks, including 9GAG, Kmong, and GitLab.

Developers
10956 developers on StackShare have stated that they use Vue.js.

Vue.js Integrations

Font Awesome, Sentry, WebStorm, Algolia, and Bugsnag are some of the popular tools that integrate with Vue.js. Here's a list of all 79 tools that integrate with Vue.js.

Why developers like Vue.js?

Here’s a list of reasons why companies and developers use Vue.js
Private Decisions at about Vue.js
Private to your company

Here are some stack decisions, common use cases and reviews by members of with Vue.js in their tech stack.

mahmoud eskandari
mahmoud eskandari
Vue.js
Vue.js
GitLab CI
GitLab CI
GitHub
GitHub
Go
Go
PHP
PHP
MySQL
MySQL

if we know any tool It will be the best tool for us.

Tools don't matter

Understanding what we do is important. My stack: Vue.js GitLab CI GitHub Go PHP MySQL Percona MySQL

See more
Vue.js
Vue.js

I use Vue.js because I find the resulting code cleaner, more concise and easier to read.

However if you are looking for the broader community and wider corporate level adoption, go for react. Both work well and I have used both successfully. For me the preference for vue is a matter of personal taste with regards to code aesthetics.

See more
Rails
Rails
Sidekiq
Sidekiq
PostgreSQL
PostgreSQL
Redis
Redis
MongoDB
MongoDB
Vue.js
Vue.js
vuex
vuex
jQuery
jQuery
React
React
Redux
Redux
Yarn
Yarn
#Bulma.io
#Font-awesome

I'm building a new process management tool. I decided to build with Rails as my backend, using Sidekiq for background jobs. I chose to work with these tools because I've worked with them before and know that they're able to get the job done. They may not be the sexiest tools, but they work and are reliable, which is what I was optimizing for. For data stores, I opted for PostgreSQL and Redis. Because I'm planning on offering dashboards, I wanted a SQL database instead of something like MongoDB that might work early on, but be difficult to use as soon as I want to facilitate aggregate queries.

On the front-end I'm using Vue.js and vuex in combination with #Turbolinks. In effect, I want to render most pages on the server side without key interactions being managed by Vue.js . This is the first project I'm working on where I've explicitly decided not to include jQuery . I have found React and Redux.js more confusing to setup. I appreciate the opinionated approach from the Vue.js community and that things just work together the way that I'd expect. To manage my javascript dependencies, I'm using Yarn .

For CSS frameworks, I'm using #Bulma.io. I really appreciate it's minimal nature and that there are no hard javascript dependencies. And to add a little spice, I'm using #font-awesome.

See more
Vue.js
Vue.js

Frontend Vue.js

See more
Leonardo Rossi
Leonardo Rossi
Software Engineer at Freelancer · | 1 upvotes · 50 views
Node.js
Node.js
Vue.js
Vue.js
Visual Studio Code
Visual Studio Code
PhpStorm
PhpStorm
Laravel
Laravel
Docker
Docker
Docker Compose
Docker Compose

Node.js Vue.js Visual Studio Code PhpStorm Laravel Docker Docker Compose

See more
Vue.js
Vue.js
vuex
vuex
Vuetify
Vuetify
ES6
ES6
JavaScript
JavaScript
Babel
Babel
npm
npm
Visual Studio Code
Visual Studio Code
Git
Git

Vue.js vuex Vuetify ES6 JavaScript Babel npm Visual Studio Code Git

See more
Public Decisions about Vue.js

Here are some stack decisions, common use cases and reviews by companies and developers who chose Vue.js in their tech stack.

Jeyabalaji Subramanian
Jeyabalaji Subramanian
CTO at FundsCorner · | 21 upvotes · 306.3K views
atFundsCornerFundsCorner
JavaScript
JavaScript
HTML5
HTML5
Vue.js
Vue.js
Vuetify
Vuetify
Amazon Cognito
Amazon Cognito

At FundsCorner, when we set out to pick up the front-end tech stack (around Dec 2017), we drove our decision based on the following considerations:

(1) We were clear that we will NOT have a hybrid app. We will start with Responsive Web & once there is traction, we will rollout our Android App. However, we wanted to ensure that the users have a consistent experience on both the Web & the App. So, the front-end framework must also have a material design component library which we can choose from.

(2) Before joining FundsCorner as a CTO, I had already worked with Angular. I enjoyed working with Angular, but I felt that I must choose something that will provide us with the fastest time from Concept to Reality.

(3) I am strong proponent of segregating HTML & JavaScript. I.e. I was not for writing or generating HTML through JavaScript. Because, this will mean that the Front-end developers I have to hire will always be very strong on JavaScript alongside HTML5 & CSS. I was looking for a Framework that was on JavaScript but not HEAVY on JavaScript.

(3) The first iteration of the web app was to be done by myself. But I was clear that when someone takes up the mantle, they will be able to come up the curve fast.

In the end, Vue.js and Vuetify satisfied all the above criteria with aplomb! When I did our first POC on Vue.js I could not believe that front-end development could be this fast. The documentation was par excellence and all the required essentials that come along with the Framework (viz. Routing, Store, Validations) etc. were available from the same community! It was also a breeze to integrate with other JavaScript libraries (such as Amazon Cognito).

By picking Vuetify, we were able to provide a consistent UI experience between our Web App and Native App, besides making the UI development ultra blazing fast!

In the end, we were able to rollout our Web App in record 6 weeks (that included the end to end Loan Origination flow, Loans management system & Customer engagement module). www.jeyabalaji.com

See more
Tim Nolet
Tim Nolet
Founder, Engineer & Dishwasher at Checkly · | 20 upvotes · 1.1M views
atChecklyHQChecklyHQ
Heroku
Heroku
Docker
Docker
GitHub
GitHub
Node.js
Node.js
hapi
hapi
Vue.js
Vue.js
AWS Lambda
AWS Lambda
Amazon S3
Amazon S3
PostgreSQL
PostgreSQL
Knex.js
Knex.js
vuex
vuex

Heroku Docker GitHub Node.js hapi Vue.js AWS Lambda Amazon S3 PostgreSQL Knex.js Checkly is a fairly young company and we're still working hard to find the correct mix of product features, price and audience.

We are focussed on tech B2B, but I always wanted to serve solo developers too. So I decided to make a $7 plan.

Why $7? Simply put, it seems to be a sweet spot for tech companies: Heroku, Docker, Github, Appoptics (Librato) all offer $7 plans. They must have done a ton of research into this, so why not piggy back that and try it out.

Enough biz talk, onto tech. The challenges were:

  • Slice of a portion of the functionality so a $7 plan is still profitable. We call this the "plan limits"
  • Update API and back end services to handle and enforce plan limits.
  • Update the UI to kindly state plan limits are in effect on some part of the UI.
  • Update the pricing page to reflect all changes.
  • Keep the actual processing backend, storage and API's as untouched as possible.

In essence, we went from strictly volume based pricing to value based pricing. Here come the technical steps & decisions we made to get there.

  1. We updated our PostgreSQL schema so plans now have an array of "features". These are string constants that represent feature toggles.
  2. The Vue.js frontend reads these from the vuex store on login.
  3. Based on these values, the UI has simple v-if statements to either just show the feature or show a friendly "please upgrade" button.
  4. The hapi API has a hook on each relevant API endpoint that checks whether a user's plan has the feature enabled, or not.

Side note: We offer 10 SMS messages per month on the developer plan. However, we were not actually counting how many people were sending. We had to update our alerting daemon (that runs on Heroku and triggers SMS messages via AWS SNS) to actually bump a counter.

What we build is basically feature-toggling based on plan features. It is very extensible for future additions. Our scheduling and storage backend that actually runs users' monitoring requests (AWS Lambda) and stores the results (S3 and Postgres) has no knowledge of all of this and remained unchanged.

Hope this helps anyone building out their SaaS and is in a similar situation.

See more
nothingismagick
nothingismagick
Quasar Framework
Quasar Framework
FeathersJS
FeathersJS
Node.js
Node.js
Vue.js
Vue.js
SendinBlue
SendinBlue
Zeit Now
Zeit Now
GitHub
GitHub

Quasar Framework FeathersJS Node.js Vue.js SendinBlue Zeit Now GitHub

It was almost too easy to build a complete Feathers Rest API combined with Quasar SSR and reactive form that we are serving through an i-frame within our main site for serving our newsletter signup and opt-in page. Total time: 15 hrs. Check it out:

https://quasar.dev/newsletter

See more
Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare · | 20 upvotes · 88K views
Vue.js
Vue.js
React
React

I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.

It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.

See more
Ali Soueidan
Ali Soueidan
Creative Web Developer at Ali Soueidan · | 18 upvotes · 480K views
npm
npm
Vue.js
Vue.js
vuex
vuex
JavaScript
JavaScript
Pug
Pug
Sass
Sass
JSON
JSON
Git
Git
GitHub
GitHub
ES6
ES6
Asana
Asana
Adobe Illustrator
Adobe Illustrator
PHP
PHP
Babel
Babel

Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

Side note: I used npm for package management. 🎉

*Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

See more
Vue.js
Vue.js
React
React

I find using Vue.js to be easier (more concise / less boilerplate) and more intuitive than writing React. However, there are a lot more readily available React components that I can just plug into my projects. I'm debating whether to use Vue.js or React for an upcoming project that I'm going to use to help teach a friend how to build an interactive frontend. Which would you recommend I use?

See more

Vue.js's Features

  • Reactivity
  • Components
  • Modularity
  • Animations
  • Routing
  • Stability
  • Extendable Data bindings
  • Plain JS object models
  • Build UI by composing components
  • Mix & matching small libraries

Vue.js Alternatives & Comparisons

What are some alternatives to Vue.js?
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
Bootstrap
Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
Angular 2
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.
AngularJS
AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
See all alternatives

Vue.js's Followers
11342 developers follow Vue.js to keep up with related blogs and decisions.
learner-mj
Saifullah Khan
wrstudio-pl
Triguna Mutuguppe Sripathi
hiroyuki kobayashi
aaron jones
Lahcen Alhiane
Jonathan Houck
Laurent Richer
Timo Bechtel