React vs. Angular – When to Choose Which?

A couple of days ago, Marius Hofmeister and I held a talk about „Angular vs. React“ at the International JavaScript conference iJS at Munich. Which one is better, Angular or React?

Truth to tell, we can’t answer the question. Actually, it’s the wrong question, anyway. The real question is „Which one is better for my project?“

It depends!

Because that’s what we found out during our investigation: During the last couple of years, Angular and React have learned a lot from each other. Each team is watching the progress of the other team. Good ideas tend to be adopted by the other team after a while, provided they match the general philosophy of the framework.

So we came to believe you can do anything with either framework. We’ve collected a couple of technical criteria helping you choose the right tool for the job. But you should base your decision on technical considerations alone.

Take performance, for example

For instance, we’ve been frequently asked about performance. Raw speed seems to be an important topic to JavaScript developers. The answer of React.js is: „We’re the fast ones“, and I’m tempted to believe them. On the other hand, the Angular answer is „We’re fast enough. Plus, we’re rapidly catching up!“

That matches my personal experience, too. Granted, there are use cases requiring as much performance as you can get. But these are corner cases. More often than not, being fast enough is all you need.

Ask your team!

Cutting a long story short, we identified a couple of technical considerations you should take in mind. But there are more important topics. I’ve never seen a project failing because of technical problems. But I’ve seen a lot of projects failing because of human factors. So you should ask your team. If your team members have a lot of experience with JavaScript, choose React. If they prefer functional programming over object-oriented programming, choose React. If you’ve got a large web page containing lots of interactive elements, each interacting with each other, choose React.

On the other hand, if you’re coming from a Java or C# background, choose Angular. If you’re working for a big enterprise, developing an application consisting of hundreds of forms, you’ll prefer Angular. If you feel familiar with TypeScript after an hour, choose Angular.

Wrapping it up

You get the idea. Most discussions in the blogosphere are sort of misleading. They concentrate on their pet topics: „I hate TypeScript!“ or „I need performance!“. Take them with a grain of salt. Maybe the slides of our talk help you. Plus, you may be interested in our interview with Jaxenter.com. It provides you with some additional information neither this article nor our slides cover.

There’s also my previous article comparing Angular with React on BeyondJava.net. Not that I’ve published the article during our research phase, so I’m sure it has a couple of issues. Even so, it contains some additional info that didn’t make it into the final slides.

Über Stephan Rauh

Passionate software developer. Occasional photographer. Founder of AngularFaces. Member of the BootsFaces team. Visit me at http://www.beyondJava.net and http://www.11pictures.com.
Dieser Beitrag wurde unter Frontend Development abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s