JavaScript Spotlight

There are many JavaScript frameworks to choose from - but two of the biggest players in the front-end development space are Angular and React.  We polled some of our in-house experts for their take on these competing techs to help illuminate the differences.

When choosing a JavaScript framework — do you prefer Angular or React JS — and why?

Dustin Ewers

<codeblocktest></codeblocktest>

As a full stack developer, I want to minimize my JavaScript tool fatigue. The prescriptive nature of Angular reduces the number of tooling decisions I need to make so I can spend more time on building great user interfaces and less time picking between multiple JavaScript libraries. I also enjoy using TypeScript to make my client side programming less painful. Angular and TypeScript go together like peanut butter and jelly.

<codeblocktest></codeblocktest>

Steve Hicks

<codeblocktest></codeblocktest>

I like that writing React is closer to writing “plain JavaScript”; with Angular you are writing more Angular-specific code.

I am also fully on-board with JSX and the concept of writing your views as JavaScript instead of HTML. We’ve spent years separating our concerns and somehow gave ourselves the idea that HTML and JS should be separate – when in fact they are related to each other. Thanks to JSX I get explicit errors from my views when they don’t have the data they need.  Regardless of which you choose, developing components is a more pleasant experience than developing controllers.  Modern JavaScript frameworks all seem to be headed in that direction, which I appreciate because it makes it easier to understand how all my code fits together.

<codeblocktest></codeblocktest>

Nick Wessing

<codeblocktest></codeblocktest>

I prefer ReactJS. React is much more lightweight since it is concerned purely with the view part of MVC. I appreciate being able to choose the tools and libraries for other responsibilities of the application as I see fit. React’s JSX syntax is also great. I can generate HTML using the power of a real programming language, rather than using Angular’s limited templating system.

<codeblocktest></codeblocktest>

David Pine

<codeblocktest></codeblocktest>

I prefer Angular. Rather than doing a direct compare and contrast, I’m going to focus primarily on the strengths of Angular. Angular is a complete rewrite of AngularJS, its predecessor. It is an open-source JavaScript framework that offers developers everything they need to write “SOLID” code. Angular is a creation of Google and is written using (Microsoft’s TypeScript) – ok, you had me at “TypeScript” seriously!!

Angular empowers developers to leverage the most modern tooling and programming best practices, such as two-way data binding, dependency injection and MVC. Angular follows the modern “web components” programming paradigm where components are first class citizens. Authoring components in Angular feels like writing an object-oriented design pattern and is familiar to C# developers. I’m a little biased as I typically develop enterprise web applications. I feel as though that developing enterprise web applications requires a more well defined set of guidelines and best practices.

Angular is backed by a huge community of followers and due to it being developed in the open, the community can easily contribute and see all the interworkings. Likewise, developing small applications is easy too – if you’re developing a SPA you should be using Angular. At this point, I couldn’t see myself developing a website any other way – it is so simple!

<codeblocktest></codeblocktest>

Michael Sherman

<codeblocktest></codeblocktest>

React could be the better choice if you want it to work… the way YOU want it to!

Angular 2 was such a huge change from Angular 1 and it is good to see that Google will continue to iterate on it with the many versions to come in a set amount of time to reduce the learning curve.

React provides components that are less prescriptive and allow you flexibility while Angular 2 has more tech buy in. This means that with Angular 2 you are probably stuck with more boilerplate things than you might want to deal with. React gives give you more control on how you want something to be done while Angular tells you how it is going to be!

<codeblocktest></codeblocktest>

Colin McCabe

<codeblocktest></codeblocktest>

The React component paradigm has become widely popular, allowing concise view layer declaration for rendering either on client or server.  There are advantages, however, in using the comparable view layer tools in Angular for reasons of long term maintainability.  The directive and binding technologies offer the ability to build the semantic html (the what) separately from the JavaScript behavior (the how) so that both describe their intents as concisely as possible.  As the project grows and changes hands the html is easier to locate and modify by designers.  The JavaScript, in turn, can be understood and improved by other developers less familiar with its original implementation.

<codeblocktest></codeblocktest>

Which front-end tech have you enjoyed working with the most — and why?

Get your project started today

Get in Touch