Vue and React share a lot in common — Virtual DOM, separate concerns for state management ( Vuex and Redux ), routing and navigating, etc. React is a library, while Vue is a progressive framework. The view layer is built with HTML templates. Data processing in Vue can be achieved through one-way binding as well as two-way binding. It is suitable for small and medium web projects which require flexibility and is simplified to develop with the fastest data processing speed. To the question “ Which technology to choose React or Vue”, one of our senior developers, Andrey Popov, says: “It’s a comprehensive territory, if you would like to have 2 or 3 cross-functional teams with a lot of senior developers, you may find it difficult and the situation becomes more complicated. Vue is a great library for small teams, but there isn’t a winner between React and Vue”. Some of the companies that use Vue are Gitlab, Nintendo, Adobe, Behance, FlightAware, Bigo.
Svelte is a free and open-source front-end compiler created by Rich Harris, and it represents a new approach to building user interfaces. Most of the work that React and Vue do happens in the browser, while Svelte shifts its work into a compile step. Using virtual DOM, the browser must perform additional work to turn declarative functionalities into DOM activities. Alternatively, Svelte runs at build time, and its components are converted into imperative code that updates the DOM. With the new version 3 of Svelte, the reactivity out of the component API. Same structure as Vue — script, style, template.
It’s not a new implementation of React, it is a 3kb alternative developed by Jason Miller. It’s one of the fastest Virtual DOM libraries. It builds on reliable platform features, performs real event handlers and can be used with other libraries. PReact can be applied in the browser skipping the transpilation steps. Some of the use cases include a self-contained web widget or a PWA and in apps where performance is prioritised because of its minimal size.
It is one of the most popular tools in the React ecosystem and gives you all the features you need for production — hybrid static and server rendering, smart bundling, route prefetching. It improves the performance and SEO of your app, and gives the advantage for rapid feature development. Next.js is built on top of React.
If we observe again the first image, one of the conclusions that comes to our mind is that Angular is dying. However, after becoming familiar with it, you have all in-one-framework supported by Google. Angular is a full-stack MVC framework, while React is only a view library. Angular uses real DOM, two-way data binding, its directives allow developers to assign special behaviours to the DOM. Dependency injection makes components more reusable, easier to manage and test. As a strong defender of Angular, our senior developer Stefan B. Stefanov comments: “I wouldn’t say that Angular is dying. In comparison to Vue and React, the learning curve of Angular demands much more effort because it’s a full feature framework. This is the main reason why it’s going down the chart.” Popular enterprises using Angular are Gmail, UpWork, PayPal, Deutsche Bank, Forbes.
NestJS is a new forward-looking Node framework for creating efficient and adaptive server-side applications. Building blocks of NestJs are modules used to organise the code and split features into logical reusable units, providers, designed to abstract any form of complexity and logic and controllers, which handle the requests and responses. Under the hood is express.js, the structure of the application in Nest is Angular based. Nest uses bullet-proof architectural patterns and lets you build REST and MVC applications, microservices and more.
P.S. A special thanks to Andrey Popov and Stefan B. Stefanov, who peer-reviewed this blog post and made it even more informative and useful with their up-to-date tech knowledge!