What is a JavaScript framework?

Efficient software development is just like baking. When making a cake you could raise your own chickens for eggs, churn milk from your own cows to make butter and grow your own cocoa beans for the flavouring, or you could just buy the ingredients from the shop and only worry about putting them together in the right order.

Similarly, whether it’s copy and pasting blocks of code or Googling how other developers have implemented particular elements into an application, a foundation of efficient software development is using work that someone else has already done to solve your problem.

When developing an application with JavaScript, one of the important ingredients in your software-cake are JavaScript frameworks and libraries. You could build every single aspect of your project from scratch, but JavaScript frameworks provide a bunch of pre-packaged tools and pre-written code that make developing applications a whole lot easier, cleaner, and quicker.

For example, instead of creating a new user interface from scratch, it would be much quicker and simpler grab a template from a library, and then just personalise it as necessary.

The most popular JavaScript frameworks are React, Angular, and Vue, but how do they compare?

Vue vs React vs Angular: what’s the difference?

JavaScript framework vs library

Semantically, the first difference is that React is technically a JavaScript library, while Angular and Vue are JavaScript frameworks. The difference between libraries and frameworks lies in whether requests are being made to the code (JavaScript framework), or from the code (JavaScript library). Also, JavaScript frameworks technically contain libraries, but for the purpose of our comparison, React, Angular and Vue are all solutions to the same problem.

Development history

The first difference between the three most popular JavaScript frameworks is in the size of their technological backers. React is maintained by Facebook, whereas Angular is backed by Google. Vue, on the other hand, was created as an offshoot by an employee who formerly worked on Angular at Google.


While Angular and React are the established and most popular JavaScript frameworks – with React being used by the likes of Netflix, Reddit and PayPal, and Angular being used by Forbes and WhatsApp among others – Vue is seen as the up-and-comer in the market. Angular and React have similar user numbers, though smaller, Vue’s user-base is increasing rapidly as more and more people convert to the newer JavaScript framework.

Community support

Due to the increased size of development teams and user-base, React and Angular provide far wider community support than Vue.


However, because Angular and React are backed by big players in technology like Facebook and Google, the scope for growth is far wider. Angular and React can release major updates and new versions every few months, but Vue, tiny by comparison, is more restricted in its upcoming releases.


Angular is deemed better for building larger applications with lots of features, React suits modern web and mobile applications, and Vue is suitable for single-page applications and more basic web development.

Learning curve

Of the three JavaScript frameworks, Angular is the hardest to learn and become used to, but only slightly more difficult than React. However, Vue is simpler and easier to pick up, and that has probably contributed to its rapid growth in the last few years.

Languages needed

To be able to work with React, it’s recommended that you’re fluent in (or at least familiar with) JSX or JavaScript XML. Vue is HTML and JavaScript based, whereas Angular requires knowledge of the more difficult, more niche TypeScript.

Which JavaScript framework to choose

While there is no defined and accepted “best JavaScript framework”, the ideal JavaScript depends completely on the user who needs one. For example, a developer’s language preference might dictate whether React, Angular or Vue is the best choice for any project – if you really like working with TypeScript, then you should definitely choose Angular as your JavaScript library. The scope of the project will also decide which framework is the right one. If the application is part of a huge, ever-expanding ecosystem, then React is a better choice. But if the project is simpler, then Vue is a good, clean option.