Angular vs React

In this article, David Godfrey shares his thoughts on the Google powered AngularJS library versus the Facebook backed ReactJS. As an avid user of both and an expert in developing dynamic, sophisticated applications for both web and mobile, David outlines what he's encountered through daily use of both libraries and runs through some of their respective attributes, with some comparisons and his recommendations for use. 

Quick facts

So when should you use them?

Angular

Angular introduces more concepts and abstractions than React, so is more suited to larger applications with teams of experienced developers. The concept of a 'filter' exists in Angular to convert data from one format to another (eg from '1457819216543' to '12th Mar 2016') meaning when it comes to more complex conversions, such as when mapping data to a graph, the template developer already knows how to apply the filter. By comparison in React there would have to be an external library included in and run in the component itself.

React

With a much gentler learning curve, React is well suited to smaller teams with less experience, or looking to produce a prototype quickly. There are fewer structures built in to React (for example there is no custom event system i.e. 'onLogin') so there needs to be much greater cross-discipline communication between the javascript and template engineers. On the other hand, when a team works closely together on an application it can be produced remarkably quickly, with React forcing isolation of components much more than Angular, meaning reusing a component in another part of the site is much easier.

TL;DR

Use Angular if you have a complex app. 
Use React if you have a simple app, or need a fast prototype.

*First published on http://www.reactiveraven.co.uk

Byng have AngularJS and ReactJS development teams ready to go in London, Leeds and Portugal. Need a local partner to help you accelerate your roadmap and develop web or mobile applications? Drop us a line, we'd love to hear from you. hello@byng.co