A brief introduction of front-end frameworks
April 13, 2021
Why do frameworks exist?
In short, most web applications nowadays are very dynamic, they require something we call state to control what’s happening in our app. The problem is, when we change the app’s state, the UI needs to update also.
As we all know, DOM modification is a real pain using vanilla JavaScript, it’s just too complicated.
JavaScript frameworks were created to make this kind of work a little easier, they provide a better developer experience. They give you easier access to JavaScript’s powers so you can build the web today.
Some popular front-end frameworks
Ember
Ember was initially released in December 2011. It is an older framework that has fewer users than more modern alternatives such as React and Vue, but it still enjoys a fair amount of popularity due to its stability, community support, and some clever coding principles.
Angular
Angular is an open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations. It is a complete rewrite from the same team that built AngularJS. Angular was officially released on the 14th of September 2016.
Angular is a component-based framework that uses declarative HTML templates. At build time, transparently to developers, the framework’s compiler translates the templates to optimized JavaScript instructions. Angular uses TypeScript, a superset of JavaScript.
Vue
Vue’s released in 2014 by Evan You, after working on and learning from the original AngularJS project. Vue is the youngest of the big four but has enjoyed a recent uptick in popularity.
Vue, like AngularJS, extends HTML with some of its own code. Apart from that, it mainly relies on modern, standard JavaScript.
React
Facebook released React in 2013. By this point, it had already been using React to solve many of its problems internally.
React itself is not technically a framework; it’s a library for rendering UI components. React is used in combination with other libraries to make applications — React and React Native are used to make mobile applications; React and ReactDOM are used to make web applications.
Because React and ReactDOM are so often used together, React is colloquially understood as a JavaScript framework. As you read through this module, we will be working with that colloquial understanding.
React extends JavaScript with HTML-like syntax, known as JSX.