DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 963,864 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Rudolf Cicko
Rudolf Cicko

Posted on

Angular vs React vs Vue

A simple comparison...

Angular is a framework, while React and Vue are libraries, therefore angular is heavier than the other two, due to its big codebase. The Angular’s core contains most of the functionalities you might need in your application, while with React and Vue, you have to find external libraries, maintained by probably, independent contributors. Therefore, when working with React and Vue, you have to be more careful when choosing libraries, being aware that libraries with a poor maintenance might be deprecated in future.

Coding style

To build an app with Angular you have to learn Typescript, which is a superset of JavaScript, while with Vue and React you can use pure JS. Regarding the view, with Angular and Vue you write it with HTML, where in React you have to write JSX, which is a syntax that allows coexistence between HTML and JS. Thus, Angular and Vue are ideal if you want to reuse HTML from a huge codebase.

Model

Vue and React use a Virtual DOM (VDOM), which is a node tree listing content, and elements and their attribute as objects and properties. The browser DOM is not updated directly but instead, they use the VDOM as abstraction layer. On the other hand, Angular is based on the MVC pattern and manipulates the DOM directly. Changes in your application will update it without any middleware.

State

As common, when creating our apps, the components will have their scoped state, and Angular, and Vue works in a way that the data is mutable. User inputs and code can modify the state directly. In React, the state is immutable. To update it, you have to use a specific function that will do it asynchronously.

Community

Angular and React have a powerful community behind. Angular was created by Google, and React by Facebook. Therefore, both have longer life expectancy. Whereas Vue, is an open source project, created by Evan You. Nevertheless, Vue gained a huge fame, because the creator’s idea was to take the best of the other two. From Angular, it took similar templates with good syntax, and from React, it got many features, specially the component-based approach. Vue is actively maintained, with almost 300 contributors and supported by many big companies.

Top comments (1)

Collapse
 
perpetual_education profile image
perpetual . education

We suggest you learn to push JS as far as you can with a book like Exercises for Programmers, and then - learn Vue as the next step. You can take this great course to speed that up: dev.to/perpetual_education/vue-tra... - then from there, you'll know enough to really deeply understand what React and Angular and Ember all offer you from there - and when to use which.

This post blew up on DEV in 2020:

js visualized

πŸš€βš™οΈ JavaScript Visualized: the JavaScript Engine

As JavaScript devs, we usually don't have to deal with compilers ourselves. However, it's definitely good to know the basics of the JavaScript engine and see how it handles our human-friendly JS code, and turns it into something machines understand! πŸ₯³

Happy coding!