React and Angular 2, which is worth learning?

This is a very common questions of new front-end developers. They want to learn AngularJS but figure out that AngularJS will be deprecated soon. So they have to choose between Angular 2 and React.

Here is my answer

I choose React.

I have 2 years experience with AngularJS and I have finished 5 apps with AngularJS. When AngularJS team announced AngularJS will be stopped supported and will be replaced by Angular2. I have worked with both of them to figure out the best framework for my career in 6 months over various projects both myself and for my clients.

Here are 5 reasons why I choose React over Angular 2:

React is a future proof skill for your career

In less than 3 years, ReactJS has raised from nowhere to become the top library for Single Page Application. You can see React everywhere, from Facebook, Netflix, AirBnB, Firefox. Now I don’t see Angular2 anywhere yet, AngularJS is quite popular but it’ve never been used in any serious product.

Source from HackerNews shows that React is already more popular than AngularJS

React has a short learning curve

React is just a view layer. You use React to build component, feed it with data and it render data to html. With a little Javascript experience, you can learn React within a day. You can understand render result of a component by look into its render() method. Angular 2 also follow the component architecture but it’s way harder for me to write an Angular 2 component.

Facebook is dog fooding with React

Facebook uses React in most of their products, from the Facebook website to Facebook mobile app, Facebook group app is developed with React Native. They always use the master branch of React. They are totally confident in their product and you can assure that they won’t dump this it any time soon.

Beside that Google never use AngularJS or Angular 2 in any serious products.

Don’t get me wrong. I still use AngularJS in many projects which SEO and performance are not important, including admin dashboard, CRM. I enjoy working with AngularJS

React is more stable

I have worked with Angular 2 in a project since the beta version. And until the final release, Angular team have made deprecated a lot of things, from their router to form API. Because Angular is opinionated, you have to follow the Angular way or your app doesn’t work. I haven’t encountered that issue with React. They broke thing too, but not much.

Your experience with React can be transferred to React-Native

I still haven’t worked with React-Native but Facebook is using them in most of their mobile app. I know a lot of companies in my area are using React-Native too. I have worked with NativeScript and Ionic 2 too, but the performance of their mobile app doesn’t meet my expectation.

That are some of my experience with Angular 2 and React and they are also the reason that I choose React over Angular 2.

Choose React and you won’t be disappointed.

This is just my personal preference only, if you have another opinion. Let’s me know about it 🙂