Picking Frontend Frameworks: React vs Angular

Navigating the landscape of frontend frameworks can be a tricky affair, especially when choosing between heavy hitters like React and Angular. Here, I'd like to share some insights drawn from my personal experiences with both, including the pivotal role they can play in early-stage startups, where flexibility and quick adaptability are key due to the high level of unknowns.

React: Flexibility and Popularity

When React entered the scene in 2013, it was initially pitched as being "more flexible, less structured, and less opinionated than Angular." I was already an experienced user of AngularJS (the "old Angular") since 2012 and felt that the fully opinionated framework of Angular was in line with my philosophy that most projects should follow established conventions.


However, the scale of React's success has been impressive. It has been well-executed and has largely become the most popular frontend framework, largely due to its flexibility and unopinionated nature. As React has become increasingly common, it has effectively become a best practice to use it. The scale of React has largely resolved my initial concern and aligns with my philosophy that frontend teams working on common applications (like B2B SAAS) should adhere to established conventions.

The Influence of React Native

React Native, a framework for building native applications using React, was a significant and strategic move. It has made React extremely appealing, especially for projects requiring a unified approach to web and mobile app development.


But Angular has been working with the Ionic framework since around 2013, and while it has a bumpy start, I've used it since 2014 effectively. 


So both Angular and React work well for native apps as well as web apps.

Angular: A Structured Approach

Despite React's increasing popularity, Angular continues to hold its ground. It's a testament to the framework's robustness and highly structured approach. While the migration from AngularJS to Angular was a challenging transition that cost some momentum, I believe it was the right move overall. Angular is a great choice in my experience, and I've worked with teams who use it really effectively. It's less popular than React now, but in practice still powerful and capable for most uses, with a philosophy that I prefer personally.

Enforcing Frameworks: A Cautionary Tale

In 2011, a smart developer I had hired chose to "build his own framework" for a piece of our codebase, left a lasting impression. We were trying to hit a deadline, and we left the code in. It ended up taking 10x more time later, replacing it later. It was probably the right call to hit the deadline, but I wish I had gotten ahead of it sooner. 

Conclusion: React vs Angular

If your project doesn't involve much logic, you could opt for other lightweight frameworks. However, both React and Angular are excellent choices for web product development. The decision between the two depends on your project's specific needs and your development team's philosophy. Regardless of the framework, adherence to the best practices and conventions is a key factor in ensuring the maintainability and scalability of your codebase.