Angular vs React
I have been thinking a lot about Angular recently as I prepare for my ng-conf 2018 talk, Super-Powered, Server-Rendered Progressive Native Apps. This blog post is a by product of that thinking.
I recently posted an answer on Quora for the question “Which one is better: React + Redux vs Angular 2?” and I wanted to highlight one idea I had for how a company can make this decision.
The basic idea is that there is essentially feature parity between Angular and React so really it is more about aligning with the framework that will make your team most productive. To that end, I came up with a way to evaluate this.
Jeff’s “Angular vs React” Evaluator
Let’s say we have two teams: a red team and blue team. I am going to go through a few aspects of software development and for each one, you should assign a point to the team that is most like your team.
View on Framework Scope
- Red Team: Prefer an all-in-one solution; framework should ideally do everything;
- Blue Team: Each library should be limited to just one thing that it does extremely well and leave it to use to piecemeal together the best overall solution
Backend Language Background (i.e. how most people learned to code)
- Red Team: .NET, Java, C++
- Blue Team: Ruby, Node, PHP, Python, Pearl
Attitude Toward Abstractions
- Red Team: Abstractions are mostly good; fewer lines of code the better
- Blue Team: Abstractions are mostly bad; better to be explicit even if there is more code
- Red Team: Most of our existing apps are in AngularJS 1.x or Angular 2+
- Blue Team: Most of our existing apps are in React
Tally up the points. If your team is most like the Red Team, then go with Angular. If your team is most like the Blue Team, then go with React. Of course this is not perfect, but I think it does give you a good guideline for making a decision between Angular and React.