The right framework for your business: Angular, React and Vue.js compared

Business | Technology
Frontend frameworks are not just a technology question

Choosing the right technologies for a software application’s frontend–the side that is visible to users–might seem to be relatively inconsequential at a non-technical level. However, frontend technologies can have business impacts, too. Important issues like an app’s performance, scalability and expense are affected by how the frontend is developed.

Therefore it’s important for all decision makers involved in making an application, on both the business and technical side, to be on the same page when frontend technologies are chosen.

Here we’ll look at three of the most popular Javascript frameworks. While they present more complicated decisions on a development level, we’ll focus mainly on the effects they have on the business side.

What is a Javascript framework?

Javascript (JS) is a coding language used to create the interactive elements of a website, such as logins and animations. It’s what makes web applications possible. 

Since websites often share characteristics, Javascript technologies have emerged to help developers organize and repurpose code. Frameworks act as a scaffolding that helps structure an application. They include libraries of pre-written code pieces.

Vanilla JS can be used to custom write everything, of course

But the problem is that it can be time consuming. Using frameworks and libraries is a bit like cooking with recipes and ready-made ingredients. 

A recipe would be like a pattern by which to structure the application’s code. A ready-made ingredient would be anything from a form to a button, things that are added and then styled accordingly to match the application.

At the moment, the most popular frontend JS frameworks are Angular and React, with Vue.js recently gaining ground. (Note: Angular is technically the only complete framework in this group. React and Vue are something in between a framework and a library. To keep the discussion simple, we will refer to all as frameworks.)

Choosing a framework, for the non-technical, usually comes down to two methods:

Look at trends–Read about the options and research what similar apps are using.

Take advice–Get a good developer or development team on board and let them choose.

The problem with the first method is that many articles on technologies are written by and for coders, and so it can be difficult to decipher what the benefits of each framework are. It’s a bit tricker still to think about which would be best for an app that has yet to be built.

For the second, the issue is that not all developers will have the application’s best interests in mind. Typically developers, and even whole teams (unless it’s a very large company) don’t have expertise in every single technology. They usually have a handful in which they specialize. Obviously, a developer or team will prefer to work with something they know very well, rather then work with something new, or refer a potential customer out to a different agency.

First, the good news

In the hands of a good development team, it’s very unlikely your application will be ruined by a framework choice.
The best teams are well aware of how to implement a framework correctly, in such a way that you won’t have to build your application over again in a few years time. They will typically work with a common framework, not something obscure.

The most common JS frameworks share many positive features. Angular, React and Vue.js:

  • Speed up development time
  • Allow components to be reused
  • Perform well
  • Have loads of documentation and community support available

How top frameworks differ
Angular

Created in 2016 (a rewrite of AngularJS, created in 2010) by Google

Angular can be thought of as the heavy hitter in this group. Developed by Google and used by such established companies as Paypal and Upwork, it’s one of the most widely-used frontend frameworks.

Angular is also the most “opinionated,” meaning that when it’s used, it dictates the structure of the whole app. It even uses its own variant of Javascript as the base language, Typescript.

This means that Angular is the hardest to learn and most inflexible of the frameworks we’re discussing here. It tends to frustrate developers more. However, Angular’s more disciplined approach tends to create more stable and consistent applications–something appealing to large enterprises.

React

Created in 2013 by Facebook

In the last few years React has fast become the most popular framework, and the most serious contender to Angular. It’s backed by Facebook and used widely in their platforms, which include Instagram and Whatsapp. It’s also used by Twitter and Uber, for example.

React is designed to be modular, applied to sections of an application. While it’s only essentially a library that applies to the view layer (what is seen, not the behind-the-scenes structure), it can be combined with other technologies like Redux to amplify its capabilities.

Vue

Created 2014 by Evan You, former Google dev. An MIT-licensed open source project

Vue is the underdog in this group. Yet even without the backing of a major company, it has grown in popularity in the last few years. Like React, Vue is modular and can be applied to parts of an application or integrated with other frameworks/libraries.

A big factor in Vue’s popularity is it’s ease of use, offering the flexibility of React but being even more lightweight and natural in style.

Developers’ love for Vue is evidenced in the State of JS’s 2018 developer survey, where 91% of those who had used this tech said they wanted to use it again; Angular received a response of 41% for the same category.

 

The tricky part: Business concerns regarding a frontend framework
Flexibility

Possibly a double-edged sword
A full framework like Angular will dictate how an application is organized and structured, creating a more predictable result.
However, the trend is moving towards modular frameworks like React and Vue which offer creative freedom to developers. The problem is that this liberty can be tragic when combined with poor structure and documentation decisions. A team using a modular framework needs at least one person in charge who can ensure that best practices are followed.
For example: Once, we were given a React application project by a client that had been built by another development team. The team had decided to build the frontend in custom React libraries, but unfortunately, they also chose to not document anything about these libraries. We were forced to play investigator in order to discover how to work with these libraries and take over the project.

Performance

Not all frameworks perform the same 
Speed is a crucial factor in the success of any application, since users will abandon an app if there is any loading delay.
Vue is regarded as the lightest of the frameworks here, and Angular the heaviest. Yet the latest updates for Angular have worked to address performance issues. Additionally, good developers can optimize application performance through a variety of methods.

Developer availability

A hidden expense
It’s important to consider how easy it is to find developers that know a certain technology and how much they cost.
Since React has grown so quickly in popularity in recent years, the amount of developers that have experience with it is still catching up. This disparity in supply and demand means that React developers are commanding high salaries.
Vue developers have the lowest average salaries compared to React and Angular. Partly responsible for this is that Vue is most used in Asia where developer salaries are relatively low. Experienced Vue developers are more difficult to find.

Learning curve

Ability to easily onboard devs
Angular has a steep learning curve, while Vue is easy to learn and intuitive.
This is a huge plus for Vue, mitigating the previous point about developer availability. A project using Vue can readily onboard experienced JS developers whether or not they’ve use Vue before. This flexibility can help make the assembly of a development team more fluid.

Backing

Will the framework become obsolete?
The reality is that technology is constantly changing, and the landscape of frontend technologies could shift dramatically in a short amount of time. While it’s impossible to predict the future, for the moment it seems as though React will remain popular. This is due to its widespread use and popularity in the development community.
Vue is the most vulnerable of the three, as it is an open-source project. Yet it has been adopted by Asian giants such as Alibaba and Xiaomi, so it seems unlikely to disappear any time soon.

Vue, Angular and React comparison
Conclusion

The most important factor for success in using a frontend framework is having a great team of developers in charge. Experienced developers will know how to choose, implement and optimize a framework correctly.

Nevertheless knowing the business impacts of these technologies can help application owners successfully plan for the future and be aware of their project’s best interests.

The innovative launch techniques of Superhuman

The business risks of overlooking software documentation

12 CSS tips and best practices

Share This