Yea, in my opinion, hx-swap or turbolinks is a bit of an antipattern. Seems to me you get worst of both worlds:
- something that kinda looks like full reload
- but with all problems of client side routing
- and without preserving the DOM state like SPA would
- and you don't get the immediate response that is the main reason to build the SPA in the first place
In fact, it's often even slower than native navigation, because native navigation can start processing the stream during download and there's overhead with pre and post processing of the response in the boosted link version. Try to profile GitHub links to see what I'm talking about, opening a link in new tab can be 2x faster than clicking in the same tab.