There’s a spectrum of web dev with two sides:
Abstraction: blur the lines between client and server, pretend you’re writing an offline desktop app with no server, no latency, no RPC calls, etc. as much as possible. Poster child: React.
Non-abstraction: write code like it’s the 90s. Admit there is a server, use GET/PUT/DELETE/POST end-points, that serve HTML, use
<form>, etc. Poster child: Htmx.
Over 10 years,1 the more I have done (1), the more I’ve regretted it and wished I’d done (2).