Reactjs and Angularjs and vue comparision

React/Redux has more job opportunities over any other single framework mentioned. It also follows the direction JavaScript itself is heading, so feels most future-proof.


One of the biggest bullet points on my ‘is this a good framework’ list is lack of 2-way binding.

2WB is a serious anti-pattern in my book; it makes small applications easier to build but kills large scale with ease.

React is the only framework here that never uses it, and this makes React very easy to reason about (and gives me confidence that React was written by people who know what they are doing; if you look at the early React videos, the emergence of unintended 2-way binding is actually the problem Facebook needed to solve that caused React to be written!).

React can be confusing though; it isn’t at all opinionated and leaves you with far too many decisions to make, some of which will affect scalability down the line if you get them wrong (a problem that Angular 2+ does not have).

My tip; all you need is React, Redux or MobX, React-Router, React-DnD, a function that deep clones, a function that merges (allows you to patch one object into another), and write your own middleware to communicate with the server (mine is always a function that sends any action that starts with WS_ to a server, and on promise conclusion fires the server return back into the application sans the WS_, which is awesomely easy for development - start with all actions being local, and route them to the server by adding a WS_ and React/Redux will not know any different so doesn't need much refactor, if any).

My personal opinion: React is one of the few frameworks where you never feel you are ‘fighting against the framework’ - if there’s a problem you are almost always fighting against your own mistake; the hallmark of a good framework!


Jobs requiring AngularJS right now are legacy maintenance gigs that you really don’t want to get involved in as a new starter looking for fast-track and/or greenfield.

I think by now most people will agree that both React/Redux and Angular2+ are better bets for a new starter.

AngularJS was the first modern framework to enable building with JS at scale, but it forgot about performance so your time was spent on that very quickly.

My conclusion when it came out was ‘good, but anything requiring performance or lots of interactive DOM to render will be difficult’.


Angular 2+ is a good framework but just does not have the numbers vs React.

If you include all versions of Angular vs React, then you are about equal, but once you take away the legacy AngularJS stuff, its React.

Angular 2+ also goes in a direction that is not really aligned to the direction JavaScript as a language is going, so feels like a stop-gap.

I also have issues regarding the way the Angular dev-team add breaking changes without any lead time, which for a large framework seems naive at best.

I used to be a big fan of things like Typescript, but after seeing how few errors it actually traps, I’ve change opinion towards ES6+. Others will disagree on all of this though and I can see why this is so - Angular 2+ is is certainly a ‘safe bet’ for large applications because it is aimed at large scale enterprise.

I also suspect it has more jobs for it than React if you live in a country that often acts as an enterprise outsourcer (such as India).

Personally, I find Angular to be overkill, and far too opinionated, meaning I will spend far too much time ‘fighting against the framework’ which brings back far too many memories of Java Swing/Adobe Flex, but hey, some people find that a positive!


Vue is too late to the game and doesn’t offer enough over React to compete; it has to be much better but is an ‘equal cousin’.

Something the web doesn’t make obvious is that it has far fewer jobs that require it than either React or Angular 2+ in US/Europe, although I hear it does very well in China.

It’s easier to pick up and quicker to get into than any other option, so if you are not bothered about becoming employable in the US/Europe and/or are building your own stuff, maybe.

Otherwise right now its a ‘nice to have’ only. A shame because it is far easier to get into than any other option, and has a lot going for it.

My personal opinion; good but the market is not picking it up over React, so not yet a commercial skill - at least in my job market (UK). Give it a year and revisit.

Other’s may have differing opinions that rely on ‘which is the best’ but that is far too subjective, so I’ve gone totally pragmatic and towards employability.

I should also note that this is a discussion on which framework you should learn first. At some point in the future, you should have both React and Angular2+ under your belt, albeit with more knowledge of one over the other.

You should also have enough curiosity to have a look at Vue although there are other things I would recommend looking at first on the back end (adding ‘full stack’ to your CV in addition to React/Angular is far better than adding ‘Vue’).

 

USEFUL RESOURCES:

 

Angularjs certification course

Angular tutorial

Vue tutorial

React tutorial