Why do we use the Vue framework and not React or AngularJS?

31 August 2017

Vue.js – this is a young framework that was created in 2014, the second version was released in 2016.

Some developers call it a library for small size and ease of use.

Perhaps this is a plus, because the developers took into account the pros and cons of React and Angular and created a hybrid that absorbed all the best of these frameworks and did not repeat their mistakes.

Benefits of using Vue:

  • Laravel officially supports and recommends using the Vue framework (pronounced as a view). And we, as developers on Larabel follow the recommendations and also use Vue.
  • Laravel comes straight from the box already with Vue.js.
  • Why does Laravel recommend Vue? Probably they have a similar philosophy – Simplicity, elegance, accessibility.
  • Vue is easier to use and maintain than React or AngularJS, which reduces the time it takes to develop and support the project. Any developer will be able to easily figure out and write on Vue, which is not to say about React or Angular, where, without understanding the subtleties and sufficient experience in these frameworks, it is not possible to write a high-quality code.
  • Another important factor is the documentation. Vue is the best documentation, the most complete in comparison with other frameworks, with an abundance of examples that makes learning and writing code easy and engaging (somewhere like Laravel).

Comparison table for the sizes of Gzipped framework:

Framework Size
Ember 2.2.0 111K
Ember 1.13.8 123K
Angular 2 111K
Angular 2 + Rx 143K
Angular 1.4.5 51K
React 0.14.5 + React DOM 40K
React 0.14.5 + React DOM + Redux 42K
React 15.3.0 + React DOM 43K
Vue 2.4.2 20.9K
Inferno 1.2.2 20K
Preact 7.2.0 4kb

 

Analyzing the table above, we can say that Vue is 2 times lighter than React and 7 times lighter than Angular 2.

The main differences between Vue and React:

  • React and Vue are similar. They both use Virtual DOM, provide reactivity and component structure (work with data, not with DOM, as in jQuery), focus on the root library, making other issues, such as routing or global application state management, into additional libraries (Vue- Router, Vuex).
  • To write to React, you need to have experience in writing JSX and ES2015 +, and for Vue it's not necessary.
  • Vue is slightly faster due to the more lightweight implementation of Virtual DOM. Comparison of speed can be viewed by reference: https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts/table.html
  • React absolutely everything & ndash; This is JavaScript. Not only HTML structures expressed through JSX, but also including CSS management inside JavaScript. Vue is based on classic web technologies, which makes it easier for less experienced developers and even designers to make edits to the code.
  • Scaling up. For large applications, both Vue and React provide routing and state management. For the latter in Vue, there is Vuex, an analog of Redux in React.
  • Scaling down. The threshold of the entrance to React is quite steep. Until the beginner can write something, he will have to learn about JSX, and probably about ES2015 +, as many examples use ES2015 class syntax. In addition, you have to deal with the assembly systems. In Vue, everything is much simpler, you can even use it with jQuery. In order to start writing on Vue in a simple version, you can simply connect the script: And from now on, write the code to Vue.

Differences between Vue and AngularJS:

  • Some parts of the Vue syntax look very similar to the AngularJS syntax, but Vue is much simpler, both in the API sense and in terms of architecture. Getting enough knowledge to write non-trivial applications usually occurs in less than a day, which can not be said about Angular.
  • AngularJS has a tough opinion about the structure of your application, while Vue is flexible and more modular.
  • Vue is more productive than AngularJS. In addition, due to lack of dirty-checking, it is much easier to optimize Vue-applications. AngularJS slows down with an increase in the number of observers, because whenever you change anything in the scope, all these observers should be restarted.
  • The learning curve for Angular is much steeper. The framework API is simply huge and the user will need to deal with a lot of concepts before becoming productive. Obviously, the complexity of Angular is largely due to its focus on only large, complex applications, but this makes the platform much more difficult for less experienced developers.

Minuses of Vue

From the minuses of Vue I would single out two:

  • Youth. The React community is still larger, there are many written components and a lot of ready-made code that you can use. Angular has established itself as a long-term stable solution for large corporations, than Vue can not boast yet.
  • React has developed and supports Facebook. Angular – Google. And Vue some Chinese :) – Evan You.

Additional links:

Learning Links:


The article was prepared by PHP developer of the digital agency VIS-A-VIS – Arthur Schablevsky.

Did you like the article? - Share the link::