It’s been a while since we published our article about the frameworks that conquered the JS world in 2019. The time has come for an update and there are some interesting insights to come. Even though we don’t see a lot of major changes—and Angular, React, and Vue.js have certainly retained their places at the top table—it is worth looking at how the landscape now looks and talking more about some of our previous strong hunches like Svelte.
So let’s go back to the frameworks.
No wonder, since web performance is becoming more and more important with particular regard to reaching out to users in countries with no advances in traditional internet infrastructure. In Europe, we may not see this problem, but today’s web pages can be problematic for people with sluggish connections or with small data plans.
Svelte has the potential to become the answer to that challenge. Web developer Shawn Wang confirmed that he was able to reduce the size of his personal website from 187 kilobytes to 9 kilobytes just by switching from React to Svelte, according to WIRED. That is why, even though Svelte is a new kid on the block, it has already managed to win some respect. Traditional frameworks do their job directly in the browser, Svelte shifts it into a compile step that happens while building the app. Thanks to this innovative but simple approach, it can beat Angular, React, and Vue for performance.
Svelte is perceived as a tool for building rather small applications; the “Holy Trinity”—as we referred to Angular, React, and Vue.js— are still the ones that developers say better suit larger projects, and the other platforms on our list also enjoy the support of larger, solid fan bases than Svelte currently attracts.
However, the latter of these has already proved that, in the JS world, nothing is set in stone. Who knows… maybe Svelte will change the status quo?
Its main technological advantage is, however, a virtual DOM implementation. It was a huge time-saver, thanks to which React gained the favor of developers who are always looking for ways to speed up their own work. The virtual DOM is a React’s local copy of HTML DOM which, by locally comparing elements, allows users to render only actually changed components and, in effect, avoid many unnecessary operations.
React is obviously the framework chosen by Facebook, but it can also boast Netflix, Microsoft, Dropbox, Asana, Yahoo, Codecademy, Airbnb, and Slack. The exceptionally active community gathered around React makes its learning curve relatively encouraging to newbies, in spite of the fact that mixing visual elements with logic (and that is how JSX works) may be a bit confusing. Where there are many solutions to one problem, it is sometimes difficult to choose the best one, but this is what comes with the flexibility.
Angular, on the other hand, seems to be entrenching itself in the position of the framework suitable for the enterprise projects. Again, the support of Google is not insignificant here and makes it evident that Angular is not going anywhere. However, the popularity of this tool seems to have reached some kind of plateau, which is understandable since Angular is not the easiest framework to get to know.
Angular is the most demanding of the big three; it is a full-blown framework, which provides everything needed (and more) by itself, cutting out the necessity to rely on any third-party libraries. However, to make everything work, the implementation needs to be done in an Angular-specific way. It means Angular forces users to maintain the same patterns. On one hand, this guarantees good quality code; on the other, it limits the flexibility.
The main technical difference between Angular and React or Vue involves the usage of Typescript along with HTML and CSS. For those developers who are not fans of Java (TypeScript’s syntax is quite similar to Java’s), this may be a challenge.
The community of Angular is broad but—since many Angular-based projects are run for enterprises that require NDAs—members are not always as keen to share their know-how.
Vue.js has skyrocketed in recent years even though it has no support from any major companies, unlike its competitors. This ultra-light framework is constantly mindful of not giving any ground to either React or Angular and has managed to find itself in an interesting position in this triumvirate. It is true that the enterprises may be distrustful when it comes to open-source technologies—because living freely sometimes means dying unexpectedly. Yet the Vue.js case seems to be very different thanks to solid community support and a detailed road map. At least, behemoths such as Alibaba, Baidu, and Tencent have been convinced.
The core benefit of Vue is, however, its lightness. It is tiny by itself and fits perfectly for building both single-page applications and more complex implementations. Internal elements can be integrated into the infrastructure with no harm to performance and—since it is becoming a core challenge for the companies aiming to conquer the mobile world—Vue’s position seems to be unthreatened for now.
Ember.js is a full-featured framework often compared with Angular. One of its most significant advantages is comprehensible best practices that allow developers to focus more on creating unique functionalities, rather than writing predictable and tedious code. That, in fact, was the main founding idea of Ember: it was supposed to boost developers’ productivity.
Mithril is a UI JS framework that is mainly used for developing single-page applications. It is small (< 8kb gzip), easy to implement, fast, and provides routing and XHR utilities out of the box. This framework might be a good option for those who like working with React as it has a few similar features.
Mithril is used by Vimeo, Nike, Fitbit, and open-source platforms like Lichess or Flarum.
Meteor was considered a game-changer some time ago but has not entirely lived up to the hopes and its popularity is fading. That being said, it has a lot to offer. It is easy to learn, flexible, and quick to build with. For those developers who are looking for a tool to build real-time applications, it may be the best shot.