DEV Community

loading...
Cover image for React vs Angular vs Vue (briefly)

React vs Angular vs Vue (briefly)

Rudolf Cicko
Inquisitive developer and pianist from Spain
Updated on ・2 min read

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 independent contributors. Luckily most of the basics one, are maintained by the same people that maintain the core. 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.

Discussion (19)

Collapse
king11 profile image
Lakshya Singh

I will be honest stopped reading when you said vue is a library 😅. Vue has it all packed in it. The packages that you can talk about like router and store are the ones built by vue core only and no one else so its not a Library. There just different modules which is a good thing for maintaining.

Collapse
cicko profile image
Rudolf Cicko Author

Actually you are right, my bad. Vue.js is Framework, rather than library.

Collapse
tohagan profile image
Tony OHagan • Edited

Add Quasar.dev and you've got the full kit. Ive found their documentation was excellent and a major time saver. Components are designed for building a single app that works on all platforms, even browser extensions. I ditched Angular and Ionic for the simplicity of Vue. Latest Vue v3 Quasar v2 is just out.

Collapse
iamandrewluca profile image
Andrew Luca

Vue is a library. Vue does not have it all packed in it.
Nuxt has it all packed in it.

Collapse
king11 profile image
Lakshya Singh • Edited

🤔 nuxt has abstracted it all but what I meant was you don't have multiple libraries for doing task like:
For routing we have vue-router maintained by vue team unlike react router and several others for react
Similarly for state management too

Thread Thread
iamandrewluca profile image
Andrew Luca

Oh, got you! That's good. You don't have to pick a router from 10 choices, you have one maintained by all :)

Collapse
ceghap profile image
Ashraf Latif

need to include svelte

Collapse
daotrongducnsthdatababy profile image
Dao Trong Duc

thank u 😘

Collapse
mannuelf profile image
Mannuel

Nicely done

Collapse
motz795 profile image
MOATAZ795

I was very hesitant to study any of them and I made a final decision based on this article to study vue Thank you my friend

Collapse
cicko profile image
Rudolf Cicko Author

I am glad to hear that. Personally I like Vue very much but now I am dedicated to React.js since is the most demanded one nowadays.

Collapse
zeeshanahmadkhalil profile image
Zeeshan Ahmad Khalil

Yes but if you are react dev, you can also create iOS and Android apps on react-native since they both are same. And who knows it could become a complete hybrid framework in future.

Collapse
jjlorenzo profile image
jjlorenzo

If you are a software developer you can create software.

Collapse
pankaj197 profile image
Pankaj

Use Quasar with Vue. One code multiple platforms.

Collapse
crojach profile image
Ivan Karacic

That's why I use Ionic. I can create mobile, desktop (electron) and web apps all in one go.

Collapse
thizizrid profile image
Riid1

Wow, nicely pictured

Collapse
cicko profile image
Rudolf Cicko Author

Thanks!

Collapse
micode360 profile image
Micode

Very Insightful.

Collapse
cjsmocjsmo profile image
Charlie J Smotherman

As an alternative Googles Flutter/Dard will also compile to IOS, android, windows/linux desktop and the web