JavaScript has become one of the most versatile programming languages to date. With libraries upon libraries that can help you satisfy any need. Want to run 3D graphics with JavaScript? There’s a library for that. Need to do OCR and other text recognition? there’s a library for that.
In the past few years multiple front-end frameworks have been built around JavaScript, including Angular, React, and Vue, to name a few.
So, which one should you learn? Well, that’s a good question. Before we go into the strengths and weaknesses of each, you should have basic knowledge of JavaScript – as these are JavaScript frameworks.
A Brief History
Angular JS
Angular is a TypeScript-based JavaScript framework. Developed by Google, Angular was first released in 2010 – making it the oldest of the lot.
“HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.” – Angular.org
React
Developed by Facebook, React was initially released in 2013. Facebook uses React extensively in their products (Facebook, Instagram, and WhatsApp).
“React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.” – React.org
Vue
Vue.js is the youngest member of the group. It was developed by a former Google employee – Evan You – in 2014. Vue has seen a substantial shift in popularity, even though it doesn’t have the backing of a large company.
Learning Curve
Angular
Angular has a steep learning curve, considering it is a complete solution, and mastering Angular requires you to learn associated concepts like TypeScript and Model View Controller (MVC). Even though it takes time to learn Angular, the investment pays dividends in terms of understanding how the front end works.
React
React offers a pretty comprehensive Getting Started guide that should help one set up React in under an hour, and give you some basic samples to play around with. The documentation is thorough and complete, with solutions to common issues already present on Stack Overflow. React is not a complete framework and advanced features require the use of third-party libraries. This makes the learning curve of the core framework not so steep but depends on the path you take with additional functionality.
Vue
Vue can be easy to learn but difficult to implement. provides higher customisability and hence is easier to learn than Angular or React. Further, Vue has an overlap with Angular and React with respect to their functionality like the use of components. Hence, the transition to Vue from either of the two is an easy option. As much as Vue is easy to learn, its extreme flexibility means that you can create poor code that may be difficult to test and debug
So, which one should you use? Depends on your application. If you need a plethora of libraries and documentation, and the ability to seamlessly integrate other frameworks, React and Angular are the way to go. Need a flexible architecture that you can bend to your whim but is still simple to use and understand (sometimes), Vue might be for you.
In the end, basic JavaScript will be a necessity for creating any application or web experience. So, start there and go through some of the documentation for each framework to see which one is within your skill level and suits your needs.