Languages and frameworks | adopt

React is a JavaScript library for creating web and native user interfaces. It revolutionized the way of building reactive web applications and started a new wave of JavaScript frameworks, by popularizing concepts such as virtual DOM or unidirectional data flow, and introducing JSX.

Thanks to arguably the biggest community in the JavaScript world, React has a very extensive ecosystem with libraries and tools to handle routing, state management, UI components, and much more. With React Native you can even build a native mobile application using mostly the same code base as for the web application.

In version 16.8 React has undergone a significant paradigm shift, introducing Hooks. That allowed developers to access functional components' state and lifecycle methods, generally leading to cleaner components with less boilerplate code. The recent update in the docs seems to clarify a lot of confusion that arose around what should be the correct way of using hooks, with some great pages showcasing the best practices.

Things we like about React are its maturity, developer experience—also thanks to the great TypeScript support—and flexibility thanks to the huge ecosystem allowing you to build anything from a simple SPA through a static site generator to a native app. We think of React as a safe choice whenever we need to implement an interactive web app, that’s why we are putting it in the “adopt” ring.