Skip to content

React

React is a library for building user interfaces from components; almost everything else a project needs — routing, a build, a dev server, server rendering — comes from the toolchain wrapped around it. That toolchain is where most of the decisions, and most of the churn, live, which is what this section records.

The starting point has moved. Create React App was React’s scaffolding tool for most of a decade and was deprecated on 14 February 2025. New projects start either from a framework — Next.js, React Router or Expo — or from a build tool such as Vite, Parcel or RSbuild. React’s own Creating a React App is the current list.

npm vs npx separates the package manager from the package runner, which is the distinction behind every npx create-… command.

Create React App (CRA) standards documents CRA’s conventions — project layout, scripts, REACT_APP_ environment variables, test placement — for teams maintaining an existing CRA application.

Guide to file extensions in React projects covers when to use .js, .jsx, .ts and .tsx.

Progressive Web App (PWA) lists what a browser actually requires before it will offer to install a web application.

A Spring Boot back end with a React front end, built by Gradle describes one full arrangement: Gradle driving Node, the bundle served from Spring Boot’s static resources, and authentication terminated at the edge.