Unless you've been living under a rock for the past year, you must have noticed the hype that was created around React, and specifically Next.js. Let's not be confused – there has been hype around React for a long time now. However, Next.js came in clutch just as people started looking for other options like Svelte or similar.
Somehow, everything that the React community creates becomes "the thing to use," even though it often already exists in a better and more stable version. But the React community always prevails. They instill this idea that you should not use anything that isn't React into the minds of many people who can't form their own opinions. These people, in turn, convince others, and that's how we end up where we are.
Or so I thought...
Despite all my preconceived notions and negative opinions about React and its community, I decided to give it a try. I initially despised the idea of writing JSX/TSX and having to use [something] for every darn thing...
It's been a few weeks into my journey, and it's difficult for me to admit, but I now actually prefer React over Angular, which I had been working with for over four years...
Here are some reasons why I changed my mind:
It's Easy
After using React for just a week or two, I already feel very comfortable with it. Unlike Angular, I can find dozens of high-quality, well-maintained, and well-documented libraries to choose from for any task I need to accomplish.
It's Natural
Although I used to advocate for keeping HTML and JavaScript separate, working with JSX feels surprisingly natural. In both frameworks, you can obtain a reference to a DOM node, but in React, it feels like a natural JavaScript operation rather than some magical process.
It's Intuitive
Gone are the days of dealing with ng-content, ng-template, template outlets, and ng-containers. In React, you simply write plain JavaScript, and nothing feels like magic.
Lastly, React is not over-engineered. If you haven't worked with other technologies that utilize IoC patterns, you'll likely find Angular cumbersome and challenging to learn within the first 30 minutes of trying. While these patterns have their place, the simplicity of working without them, without experiencing any drawbacks, makes the choice easy for most people.
It's worth noting that the Angular team has likely noticed these things as well, as they've been making some great changes lately. However, one can't help but wonder if it's a bit too late?
I'd love to hear what others think about this. Please feel free to share your opinions in the comments.
Top comments (1)
I'm pretty firmly on the React team for 5 years now, but before that I used AngularJS and angular 2 for quite a while. I heard angular has made a lot of changes since then, but I am not a fan of their data blinding concept anymore and their templating language. It's too custom in my opinion. I have been looking at other frameworks like svelte and solidjs lately, but it's really hard for new frameworks to beat the ecosystem around React.