AngulararchitectureReactUI surveyweb design

BeyondJava @Conference: Angular vs. React – 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 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.de (in German language). It provides you with some additional information neither this article nor our slide 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.

Leave a Reply

Your email address will not be published.