The Angular vs React vs Vue is a new debate within the software development industry. Which technologies are more efficient or which are more suitable for their projects? Kevin Ariza guides us through this.

A couple of years ago, the debate revolved around Angular and React. Angular, an open-source JavaScript framework powered by Google, has been used since 2016 on projects such as Google Adwords. React is also an open-source JavaScript library, developed by Facebook in order to manage Facebook ads. 

Because of their similarities, experts often compared Angular and React. However, during the last couple of years, a third player began generating a lot of interest. This is Vue.js.

At Blankfactor, we had our very own Angular vs. React vs. Vue debate. Developers asked themselves which technology was better. In order to settle this debate, Kevin Ariza, a Sr. Front-end Developer at Blankfactor Medellín helped us compare each technology.

Angular: A Fully Furnished Kitchen

Angular is sometimes considered more of a platform than a framework because it helps you with building the application, managing multiple applications, controlling the UI and much more. This framework helps developers create reactive and complex interfaces using a very complete set of tools.

Angular’s toolset doesn’t stop at DOM manipulation support. This framework also provides a reactive programming library called RxJS, responsible for handling asynchronous data with multiple events. It also offers a command-line interface (CLI) used to create projects, add files and deal with debugging and deployment.

As Kevin says, “Angular has everything already built in, it is a big framework with all the necessary tools for making front-end applications. It is the best choice for working on big projects with big teams. Everything is standardized in Angular, it is like a fully furnished kitchen with all the tools that you need for any recipe.”

React: The Most Elemental Parts

React is an open-source JavaScript library responsible for the application’s view layer. This specific layer is responsible for how the application looks and feels. However, React does not include built-in validation support nor other special features, making it “slimmer” than Angular in certain regards.

As Kevin states, “React is a UI and DOM manipulation library. It lets you decide which tools you want to use for solving different problems, like routing, styling and state management. For example, you could use Redux or Mobx for state management and routing styled-components in a way similar to a CSS file, but in Javascript.

When the project gets bigger, it may become too complex to handle all at once. This may lead to spending more time on architectural decisions, having to learn more things on the go, and hindering developers. Now let’s imagine the kitchen scenario, but only with only an oven. You will have to decide what are the elements you need in order to make a specific recipe.”

Is Vue the Best of Both Worlds?

What does Vue offer? Vue is all about building interfaces by combining reusable components. This framework is a combination between React and Angular, it is not the all-encompassing toolset offered by Angular nor the selected toolset React vouches for. Vue helps you with built-in state management but it doesn’t include form validation or http client functionality. 

“Like Angular”, says Kevin, “it has already built in the tools needed for the basis of any application, like routing or state management. Not only is it a huge time saver, it helps developers decide what to use or learn for this or that, at least for the basis. Vue also allows you to make architectural decisions, use community-made libraries and tools. 

Think of it like a kitchen, but with all the basic stuff.”

How to Select the Best Technology for Your Project

Imagine a client allows the development team to propose the technology they would think it’s more suitable for a project. Which one would the team prefer? Kevin says that selecting the most appropriate technology is a tricky process, as it depends on the expertise of the development team, the amount of time available and the requirement.

A team selects Angular if “we have more developers who already know Angular and the project will expand. If that same team has more developers acquainted with React and the requirements are already known, then React seems like a safe choice.”

And what happens with Vue? Well, let’s imagine a scenario similar to the one for React, except everyone on the team knows Vue. “In that case, Vue is a good choice”, says Kevin. 

Angular vs React vs Vue: Conclusions

The solution to the Angular vs React vs Vue debate doesn’t lie on the technology itself, but rather on the way the technology is going to be implemented, what technology is the team most familiar with and how many people does the project need. In the end, it’s a decision that affects the projects execution. 

Special thanks to Kevin Ariza.