Nederlandse versie

Which Javascript framework should my SaaS tech startup use?

February 10th 2021

At every SaaS tech company (a company where your website is your product), sooner or later you will have to choose which Javascript framework your team wants to use. The answer will depend a lot on the complexity of the web application you need. But also you need to find (front-end) developers who can work with the framework you chose.

In this article we will list the main options, aka the big Three (Angular, React and Vue) and tell you the differences between them and each framework's pros and cons.

Why do we need a Javascript framework at all?

Great question! In the old days, websites were usually meant to just display information. Everything was done by the server so for anything to happen, there usually had to be a full page reload. Nowadays, websites (or web applications as we like to call more complex websites) can handle a rich user experience. It can instantly react to user input without even having to reload the page. Or instantly filter a list depending on certain criteria that the user sets (like our tech companies page). This is all made possible through modern Javascript frameworks.

Let's take a look at the various options...

Angular

Angular has been around the longest. It was first released in 2010 (as AngularJS) and is developed by Google. After the release of V2 they dropped the JS appendix and the name is since then just "Angular".

Most companies that use Angular made that decision before React and Vue were around as viable options, so for brand new companies Angular is not exactly an obvious choice.

Pros:

- Has been around the longest (since 2010)
- Broad userbase

Cons:

- Lowest developer satisfaction score (42%) *
- Biggest footprint of all three frameworks (around 500 kB)
- Steep learning curve

React

React was first released in 2013 and is developed by Facebook. In the past there were some issues about their license not being truly open-source (basically using React meant you agreed to never sue them or they would take your right to use React away). But they changed this to an MIT license in 2017 so right now the license is not an issue of concern, but as Facebook has been the source of some questionable privacy concerns, you never know what the future will hold.

Instead of HTML, React uses JSX, which can take a while getting used to and might not feel as intuitive, but having said that, the use of JSX does allow for more fine-grained control over your template.

A lot of companies mainly choose React cause most companies use it, and not necessarily cause it is actually better. So React is more or less the "safe" choice.

Pros:

- Highest developer satisfaction score (88%) *
- Most used, so easier to find personnel
- Good solution for creating very complex user interfaces

Cons:

- Relatively steep learning curve
- You need other technologies before you can create a full web application
- Created by Facebook

Vue

Vue is the youngest kid on the block, it has been around since 2014 and was started by ex-Google employee Evan You. Over the last three years, Vue has been getting a lot of traction and more and more companies have decided to adopt it. A new release (V3) just came out which added a lot of significant improvements, so it might be great timing to already start using Vue 3 so your company is ready for the future.

Vue is driven entirely by the open source community, so not backed by a big corporation like Google or Facebook.

Pros:

- High developer satisfaction score (85%) *
- Simple and intuitive to use, easy to learn
- Suitable for both complex and simpler user interfaces
- Lightweight (only 22,5 kB)

Cons:

- Not as established as React or Angular
- Not so easy to find Vue developers (even though it is gaining traction)

Conclusion

The best possible answer is to ask your (front-end) developers which framework they prefer. Most employees but especially developers generally find it very important to get this kind of autonomy/freedom and it will also result in them taking more ownership, and them becoming happier and more engaged employees.

In case you are just starting out and don't have a development team yet, you could let it be decided by whoever you end up hiring. Or you could use it as a job interview question to see which framework they prefer and why, and get valuable information about them as a candidate that way.

If your team doesn't find a consensus, you could use the information above to have a team discussion about it. It is a very important decision and you will be more or less locked in for at least a couple of years realistically speaking.

(* based on https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/)