Inertia.js is an open-source library for building single-page web apps (SPAs, apps that change pages in the browser without full reloads) with a classic server-side framework. Its makers call this approach the modern monolith. The project is maintained under Laravel, and it is not a framework itself but glue between a back end and a front end.
The back end keeps routing, controllers, middleware, authentication and data fetching; only the view layer changes. A controller returns a JavaScript page component name and its data (props) instead of a server-rendered template. In the browser, the Inertia Link component intercepts clicks and fetches the next page with XHR; the server detects an Inertia request and answers with JSON, and Inertia swaps the page component and updates the browser history. Official adapters exist for React, Vue and Svelte on the client and for Laravel, Rails, Phoenix and Django on the server. Further features include form helpers with validation, partial reloads, prefetching, polling and server-side rendering.
Inertia.js is free and open source under the MIT license.