From a business perspective, there's no single right answer to whether Angular, React or Vue is the best approach to your project's frontend.
Instead of looking at code samples and talking about this or that framework loading a millisecond faster, it's more important to define your business needs and base decisions on them rather than trivial engineering debates or even worse: hype driven development.
A bit of a reality check
Let’s challenge some assumptions that seem to be overlooked in most online discussions about frontend frameworks. Here's some common sense to start out with:
- There’s a lot of overlap in functionality between React, Angular and Vue. You can make sleek, modern web apps in any of them.
- Modern backends play nice with all of them. Whether you’re using Ruby on Rails, Laravel or Node, you can easily use any of the major frontend ecosystems.
- Experienced developers can handle more than one framework. Everybody has their preferences and deeper levels of expertise in one frontend over another, but most developers can handle more than one framework.
Start with a user story
It doesn't make sense to talk about choosing a tech stack without a user story, yet you can see this approach nearly any time Angular, React or Vue are discussed online. This is the first step in figuring out whether your project has some particular need that requires one framework over another.
Make a note of who your user is, whether they are an employee at a large company using software for work or an individual using an app for fun. This could end up being a deciding factor. Everything else being equal, Angular has become the most popular choice for enterprises. The framework has wide community support, clear best practices and minimal unknowns—in other words, the perfect fit for most enterprises.
None of the frameworks offers a great enough technical advantage to ignore more plebeian realities such as recruiting and long-term support for your project. Once you’ve drawn up a user story, the realities of your team and project carry more weight than any comparison drawn up in a vacuum.
Vue and React are much easier to plug into an existing project because they lack the monolithic nature of Angular. Thus if you have to mesh new features with legacy code, Angular might not be the best choice.
Another thing to consider is developer availability. If there’s a massive shortage of Vue developers in your area, consider React instead. Definitely be wary of going with some niche framework that doesn’t have a large community. The difficulty of supporting an app built using an uncommon tech stack years down the road is a serious headache. I’ve seen first hand how one opinionated developer led to a product using Lisp in production; years later recruiters still face the nightmare of finding ‘full-stack lisp developers’!
Making the final choice
We’re previously compared Node to Ruby on Rails and came up with a similar conclusion: there is no single right answer. Too many blog posts have been dedicated to showing that one language, library, framework or tech stack is ‘the best’™. At eTeam, this is absolutely not our approach to engineering.