I’ve been using Turbolinks for years and that’s comparable to Hotwire Turbo Drive. Hotwire Turbo Frames are interesting too. The biggest difference I’ve seen so far is that they both work over HTTP and your existing applications work as they do now with minimal to no code changes. There’s also progressive enhancement in that if JS isn’t enabled, links just do full page loads instead of getting the enhanced experience.
I added it to a Phoenix (and Flask app) and it worked pretty much out of the box. One drawback I’m seeing tho is there’s no push state with frames but the more I work with it, the more I’m understanding that frames aren’t meant to have push state because if you wanted a push state experience you would just use turbo drive (which is meant to be a drop in replacement zero code change solution for super fast page transitions).
Turbo Streams is the other component of Hotwire and that’s a bit more effort to get working with non-Rails backends since it deals with sending bits of server rendered HTML over a websocket connection.
I think the main takeaway I’ve gotten so far is drive + frames can get you pretty far to make awesome feeling apps over HTTP with zero websocket dependence and then you can opt into something like LV for just the push / broadcast / reactive bits of your site as a replacement to Turbo Streams.
That would be opposed to using LV to replace drive, frames and streams. That has its own pros and cons but it’s technically doable.