React
Last updated:
adopt
React has firmly established itself as the leading tool for building interactive user interfaces on the Web. Since our last review, there have been a number of new features and improvements in React.
It is clear that the functional component style—along with Hooks—has become the new standard in React, displacing the older class-based approach. This mirrors a similar transition in Vue 3, where the Composition API and Composables replaced the Options API in recent years.
Other notable improvements include:
- Actions and transitions API, allowing easier handling of async operations on the client.
- Server Components that render static content at build time.
- Server Functions to execute server-side code from the client.
- A re-write of Docs, welcomed by both long-time React devs and newcomers alike.
React has definitely reached its mature phase, yet the team behind it doesn't stop listening to the needs of developers, making sure the tool keeps addressing the challenges of modern Web development. That's why we'll certainly be keeping React in our "Adopt" ring.
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.