Why Choose Vue for Your Front-end?

Posted by Nino Lau on May 13, 2019

As the PM of our Make Spare $ Team, I choose VueJS as our front-end devlopment tool. These are reasons why we need to choose Vue compared with some mainstream front-end framework.

Summary

Vue.js is an incremental framework for building data-driven web interfaces. The goal of vue.js is to implement responsive data binding and composite view components through the simplest possible API. The core is a responsive data binding system.

Vue has 2 typical characteristics: responsive programming and componentization.

Advantages

  • lightweight framework
  • easy to learn
  • two-way data binding
  • componentization
  • view, data and structure separation
  • virtual DOM
  • fast running

Vue is a single-page application that refreshes the page partially without requiring all data and dom to be requested every time the page is jumped, which greatly speeds up the access speed and improves the user experience. And its third-party UI library saves a lot of development time.

V.S. React

  • Both React and Vue are exceptionally and similarly fast, so the speed is unlikely to be a deciding factor in choosing between them.
  • In React, everything is just JavaScript. Not only are HTML structures expressed via JSX, the recent trends also tend to put CSS management inside JavaScript as well.
  • React Native enables you to write native-rendered apps for iOS and Android using the same React component model.

V.S. AngularJS

  • Vue is much simpler than AngularJS, both in terms of API and design.
  • AngularJS has strong opinions about how your applications should be structured, while Vue is a more flexible, modular solution.
  • AngularJS uses two-way binding between scopes, while Vue enforces a one-way data flow between components.
  • Vue has a clearer separation between directives and components.
  • Vue has better performance and is much, much easier to optimize because it doesn’t use dirty checking.

V.S. Ember

  • Vue provides unobtrusive reactivity on plain JavaScript objects and fully automatic computed properties. In Ember, you need to wrap everything in Ember Objects and manually declare dependencies for computed properties.
  • Vue’s template syntax harnesses the full power of JavaScript expressions, while Handlebars’ expression and helper syntax is intentionally quite limited in comparison.
  • Performance-wise, Vue outperforms Ember by a fair margin, even after the latest Glimmer engine update in Ember 3.x. Vue automatically batches updates, while in Ember you need to manually manage run loops in performance-critical situations.

V.S. Roit

  • Better performance. Riot traverses a DOM tree rather than using a virtual DOM, so suffers from the same performance issues as AngularJS.
  • More mature tooling support. Vue provides official support for webpack and Browserify, while Riot relies on community support for build system integration.

More

Many programmers who have used vue say of it, “ue. Js has the best of both angular.js and react. So, let’s deploy the Vue environment on our computers!