Differences between AngularJS, VueJS and ReactJS – hello JS

Differences between #AngularJS, #VueJS and #ReactJS:

  • Another common question regarding ReactJS is whether it is necessary to learn Flux to learn ReactJS .
  • Unlike AngularJS , ReactJS is not a framework, it’s a library.
  • The prospect is that a lot of companies will still use AngularJS for quite a while.
  • It is entirely possible to write an application in ReactJS without the use of Flux and Redux .
  • The Facebook team with ReactJS solved these problems through the Virtual DOM – object that maps the whole tree of the DOM .

AngularJS is one of the most famous framework out there, gaining a lot of momentum lately. Some reasons for its popularity are: community engagement, open-source, the interest of the google team, etc…

@ReactiveConf: Differences between #AngularJS, #VueJS and #ReactJS:

AngularJS is one of the most famous framework out there, gaining a lot of momentum lately. Some reasons for its popularity are: community engagement, open-source, the interest of the google team, etc. AngularJS can solve a lot of problems and it is a good framework. One of its great advantages is the possibility of making applications in a single page.

The migration from AngularJS 1 to AngularJS 2 was a little bit of a nuisance for most developers because, unlike other frameworks where the migration is gradual for your application and it does not take the risk to break, Angular’s migration from 1 to 2 is basically a complete rewrite. 

AngularJS 2 it’s essentially another framework, so the support for Angular 1 will still be maintained for a long time, as if they are truly two different frameworks.

AngularJS, due to its complexity, may be more complicated to learn than others.

The prospect is that a lot of companies will still use AngularJS for quite a while. Although Angular will still be maintained, ReactJS is growing. If you want to start your career now, or if you want to start a new project, it would be best to use ReactJS.

AngularJS 1 e 2 documentation: https://angularjs.org/

Unlike AngularJS, ReactJS is not a framework, it’s a library. 

It takes care of the view part, and is focused on creating reactive components for Modern Web Interfaces. Although this name, reactive components, is apparently “linked” to ReactJS, due to “reactive”, this technique / feature, which basically consists of observing a JavaScript object and reflecting its changes on DOM of the HTML, is not unique to ReactJS.

Components are “pieces of code” that contain markup, style, and behavior (html, css, and javascript), and together they can compose extremely reusable interfaces.

One of the characteristics of web components is the possibility of using them as custom tags, being easy to use, reading and understanding how an interface (screen) is being built it.

ReactJS covers the entire client-side with the focus on creating declarative components and is used on Facebook and Instagram. Maybe React became so famous this year because it took advantage of some performance issues on the Angular front-end side. The Facebook team with ReactJS solved these problems through the Virtual DOM — object that maps the whole tree of the DOM. All changes are made at this object level. Then ReactJS maps what needs to be changed and with that, the performance gets much faster.

Creating components with VueJS is very simple and objective. The API is intuitive and simple, its template system takes what we already used, it’s very simple, predictable and pleasant. As ReactJS, VueJS has the proposed components. It is also a library that does not attempt to solve all problems at once.

An important difference between ReactJS / VueJS and AngularJS is, despite being focused on solving component problems, VueJS and ReactJS have their own ecosystem to create SPA, and gradually we have the possibility of adding “plugins” (or whatever you like to call them), to build an application. It’s different on AngularJS, because it already has everything and everything is intertwined and dependent. Most of the time we do not need to use everything that is offered. That may create a problem when, for example, you get a better solution to solve a problem, but to remove only one block from the AngularJS side is very complicated due to these dependencies.

Another common question regarding ReactJS is whether it is necessary to learn Flux to learn ReactJS. The answer is no. It is entirely possible to write an application in ReactJS without the use of Flux and Redux.

Let’s dig deeper.

Flux is an architecture used by Facebook that came before Redux, with the proposal of being a single stream of data, because Facebook was encountering some problems with the MVC architecture. These difficulties were basically to deploy features in a faster way, since, due to the complexity of the Facebook model, the time evolution of the features was taking a lot of time. So to fix this with a single data stream, Flux was created.

With the measurement of time, it was noticed that some things were very complex to do with Flux, and for that reason, Redux appeared, with the proposal to optimize the idea and solve the obstacles that Flux was beginning to face.

The reality is, you do not need necessarily to learn MVC, Flux, Redux, ReactJS, AngularJS… What will happen is, you will end up using one or the other, or several as the need arises depending on functionality and the objective of your application.

Until next time!

Differences between AngularJS, VueJS and ReactJS – hello JS