Shiny and FastHTML are both built on top of Starlette, so both use the same routing implementation. FastHTML by default uses a `RouteX` subclass that adds quite a bit of functionality to Starlette routes (mainly around automatically passing in the needed parameters for a handler).
There's quite a bit of background of why HTMX is used, particularly these two sections of about.fastht.ml:
There's quite a bit of background of why HTMX is used, particularly these two sections of about.fastht.ml:
- https://about.fastht.ml/foundation#sec2
- https://about.fastht.ml/tech#sec2