The new way
There is a new(-ish) approach to developing interactive web applications, that are not single page applications.
The main idea is that HTML is rendered on the server and sent to the browser, either by a HTTP response or web socket. The client has a little bit of JavaScript that handles those responses and updates the current pages' HTML.
Here's the frameworks I've seen so far:
- Hotwired - Made by the Rails team, but usable outside of Rails.
- HTMX - Often used with Go, but usable with others.
- LiveView - for Phoenix.
- LiveWire - for Laravel.
I believe these will become the new standard for building web interfaces. And I'm looking forward to much less JavaScript based UIs.