What frameworks are popular?
As the web has matured, so have the capabilities of websites, largely driven by big companies such as Facebook and Google. In 2010, Google released their internally-developed-and-used AngularJS framework to the public. In response to this, in 2013, Facebook made their own framework that drives the Facebook web experience, React, public for developers to learn and use. Making these originally internal frameworks public meant that these big companies could hire new developers who are already familiar with how their code works, and the use of these frameworks makes building highly capable websites easier for developers.
Due to improvements and breaking changes in design, AngularJS has been dropped in favour of Angular (sometimes referred to as Angular v2+) from 2016. Competitors to React and Angular exist in the market as well, the most popular of which being Vue.js, which was created by an ex-Google employee and was designed to address the shortcomings of React and Angular.
This page on GitHub shows a breakdown of current trends among developers based on several metrics. Most of the graphs and general consensus is that as of the end of 2020, React is the most popular front end framework, followed by Angular which has a somewhat stagnating level of developer interest, followed lastly by Vue.js, which while still in a relatively infant state, is growing in popularity and may even exceed Angular in the coming months.
What is TypeScript?
|Initial Release||May 2013||Sept 2016||Feb 2014|
|Document Object Model||Virtual||Direct||Virtual|
|Data Flow/Binding||One way||One/Two way||One/Two way|
|Dependency Injection||Yes, with library||Yes, out the box||Yes, out the box|
|Native Mobile Support||React Native||NativeScript/Ionic||Weex/NativeScript|
|Progressive Web App Support||Yes||Yes||Yes|
Another key difference is data binding. React uses one-way binding with states and hooks for each component to update the DOM when values change. Angular and Vue.js have support for both two-way and one-way data binding. Two-way binding means that if the value changes the component is re-rendered with the new value automatically.
Which is right for you?
For a recent redesign of Blue Crystal’s proprietary database and application monitoring solution, BlueDiamond, we have chosen Angular as the framework of choice, due to its included features, opinionated architecture, and the object-oriented programming experience of the project’s developers. Given the needs of the project, such as communication with an API, routing between pages, flexible data entry and validation, Angular’s opinionated architecture meant that it was easy to follow best practices for development. React’s more flexible architecture gives control over what plugins are used but can lead to a less than ideal codebase if developers are not careful with structure. If building an offline mobile app had been a priority for the project, React might have been a better choice because of the capabilities of React Native.
Facebook and Google both provide a wealth of resources for developers to learn the React and Angular frameworks. This support, along with their popularity and abundance of use throughout the web, make either of these frameworks a good choice for businesses looking to build bespoke applications to streamline their practices.