Here's a not incomprehensive list of similar implementations of this idea: Phoenix Drab/LiveView/Texas, Razor Components, Plotly's Dash, Intercoolerjs/Unpoly (provides view layer only without websockets), Rails StimulusReflex, Ruby Fie, Python Sofi, Python Remi, Node.js Purview, Python Flexx, Python Reahl (AGPL licensed), Python Wdom.
I am sure I missed quite a few. Feel free to comment down below with any other library.
Hey there! Author of Inertia.js here. Inertia.js isn't really comparable to these libraries.
The goal of the libraries you listed is to avoid writing JavaScript entirely (or as much as possible), pushing this work to the server. Inertia.js, on the other hand, embraces using client-side frameworks like Vue.js and React, striving to find a happy medium between classic server-side rendered apps and full-on single-page apps.
Inertia.js allows you to create fully client-side rendered single-page apps without the need for client-side routing or an API. It uses classic server-side routing and controllers instead, which makes it super approachable to those coming from a server-side framework like Rails, Laravel or Django.
This is a very good way of loading components dynamically, and the approach is pretty sound. We use the same technique at yazz.com to dynamically load components with Vue.js:
I am sure I missed quite a few. Feel free to comment down below with any other library.