Cegal tech blog

Angular vs React vs Vue

Written by Kristoffer Helgesen | Dec 5, 2022 8:00:00 AM

This article is my non-technical guide to help any business choose which major frontend framework to invest time and money into. It is based on my experience with thethree big ones+”, which I hope will give you some new insight.  Let's start!    

What to choose?  

Angular, React and Vue are all JavaScript-based systems for creating interactive webpages (SPA = Single page applications).  By interactive, we mean a page that “reacts” to what the user does. 

In other words, what should happen when a user clicks a button or any other thing on a webpage?  

I believe a short background on why Angular, React and Vue came to be, is crucial in understanding what purpose they solve. Before these 3 big frameworks, there was a javascript-based library called jQuery that helped developers code less, and faster with a set of standardized functions. I personally liked jQuery as it offered an easy way to make a webpage interactive at the time.

But there were some caveats :

  • Code was not easy to manage 
  • Code duplication 

 But nowadays, jQuery isn't really an option, so moving on!   

To mitigate these caveats, several companies set out to solve these issues, Google created Angular, Facebook created React, and a guy named Evan You that worked on AngularJS created Vue!  

These frameworks/libraries all focus on delivering scalable web applications that are highly customizable and reactive (hence why React is called React).   

Angular 

Angular is the oldest JavaScript framework of the “3 big ones” and has traditionally been selected by customers that want something that is “enterprise-grade”, where all you need is one solution. Angular is owned by Google and by that extension gets updates from its employees. Angular has a steeper learning curve than React and more “boilerplate” code, but when a developer is up and running with Angular there should not be much of a speed penalty in regard to productivity.  

Strong points

  • All in one solution
  • Supported by google
  • Big community
  • Signals 

Drawbacks

  • Steeper learning curve  
  • A bitt is slower than React

Neither bad nor god

  • Major releases every 6 months

React  

React is a JavaScript library created by Facebook, to handle all the actions a user can do on their page, it has grown a lot since its inception and is now the most used SPA (single-page application) in the world, with 15 million weekly downloads.  React is fast/small in size and comes in many flavours with a multitude of implementations so it can run basically everywhere. 

In comparison to Angular, React is more community-driven, resulting in external dependencies and is therefore a more barebones solution compared to Angular. 

To drive my point about external libraries: There was a guy named Marak that created a JS package that had 1,5 million weekly downloads. He decided to “delete” the package and as a result, a multitude of projects ended up having issues due to the missing dependency. But that does not happen every day and could also happen in a Vue or Angular project. This is something to take into consideration as it can happen, but don't worry too much, there are ways to fix and protect against this. 

Strongpoints

  • The most used frontend library today
  • Performance 
  • Easy to learn  
  • Big community (easy to hire) 
  • Stable (in its core releases) 
  • Can be implemented gradually on a traditional webpage 

  Drawbacks  

  • Heavily dependent on external packages  

Vue  

Vue is a framework created by Evan You, a developer that worked on AnguarJS, he took what he liked from AngularJS and create Vue. 

Vue fits in between Angular and React, as it's easier to learn than Angular, but it's still not at easy as React. You would get all the benefits of Vue being a framework meaning it comes bundled with all your needs and uses many of the same concepts from Angular.  

Vue is not as widely adopted as all the other front-end libraries out there but is highly loved by its community of developers, especially after Vue released the composition API, making it more like React. 

Strongpoints  

  • Performance  
  • Easy to learn  
  • Loved by the community 
  • Comes bundled with a lot of functionality 

Drawbacks

  • Not as widely adopted as React or Angular 

Common Technologies 

 Angular, React, and Vue are all capable of serving as development frameworks for Progressive Web Apps (PWAs). 

PWAs are not conventional mobile applications; instead, they are web applications that smartphone users can conveniently add as shortcuts to their home screens. These PWAs provide a user experience that closely resembles that of native mobile apps. 

Moreover, for each of these frameworks, you can discover premium templates and pre-built applications.  

Conclusion

You would not go wrong with any of the aforementioned technologies, all of them have their own strong points and are all viable options. There are many more libraries/frameworks out there to choose from, but choosing one of these carries a greater risk as well.

Take a look at: Google has an interesting graph of the most searched frontend terms over time, also broken down by geographic region.

 In summary, here is my list of what to consider when choosing which framework to invest in for a major project: 

  • Do the developers like to work with it 
  • Is it trending 
  • The pool of developers that you can hire from 
  • Is it difficult to learn 
  • Direct support from the code owners 
  • Performance 
  • Updates