Is React killing Angular?

The issue that Angular is facing has much less to do with React and far more to do with the fact that they’re… well… Angular…

Angular’s Critical Flaw (in my eyes) is that the new version tries to do too many things at once and simultaneously scares off the very audience they are trying to appeal to.

The current Angular 1.x audience is the one audience that really matters the most - they are the users of the current product and the ones that are most naturally going to explore Angular 2.0 in the near future. What they get with Angular 1.x is dependency injection, directives, $scope, controllers, two-way data-binding… basically this:

When they load up the Angular 2.0 docs and wonder what directives are going to look like in “the new version” they are instead greeted with this:

React-like components, data-binding being subdivided, services injecting into components, which do things with templates, which do things with directives… but components are also directives…? Who knows? Screw it, let’s make a simple Todo application. I mean… Tour of Heroes application. Oh wait… the docs are all written in TypeScript while the JavaScript version is still under construction. Because, as is only natural, Google doesn’t seem to believe in JavaScript as a programming language.

The current React audience is the 800 lbs Gorilla in the room. Having come around at a time when Angular announced 2.0 would not be compatible with 1.x, React more or less swooped in and stole the hearts and minds of legions of developers with a “simple view library”. Angular wants them back and tries to appeal to them with some of the creature comforts that the React community enjoys - Components, Server-side rendering, understandable data flow.

However, the issue Angular faces on this front is that Angular is trying to build a great “framework” and views React as a “library” that they are competing with - but React has moved on from “just the view layer” to an “ecosystem”. State management can easily be handled with Flux/Redux, routing is simple with React Router, you can declare dependencies with Relay & GraphQL, and you can “learn once, write anywhere” with React Native. Angular tries to appeal to the React audience with server-side rendering, components, and a logical data flow - but they are just following the standard React has set. With much more bloat. And documentation written in TypeScript (while the majority of React’s users are focused on ES6/7).


In conclusion, React is in no way killing Angular - Angular allocated all the rope necessary to hang itself. If the Angular team wants to acquire the mindshare of developers it needs to figure out who its audience is and actually appeal to them; and it wouldn’t hurt if they took a moment to write their documentation in ES5 - the language that is currently used on browsers, mobile devices, servers, and desktop applications - and stopped trying to do everything in their power to not write native JavaScript for once.

#angular-js #reactjs #javascript

6 Likes14.05 GEEK