Comment #⁨3⁩

Toby Toby Waterhole Founder Jul 10, 2024
In reply to M Manoj

@Manoj Hotwire and Livewire are both great, but they are quite different approaches to building Laravel apps.

Hotwire is an approach to progressive enhancement. You are basically just building a traditional hypermedia Laravel Blade app with forms and links. Hotwire is a light sprinkle of JavaScript on top which enhances those forms and links to use AJAX rather than requiring a full page reload. The app will still work fine if JavaScript is disabled or fails to load.

Livewire, on the other hand, is a more fundamentally different approach. You use Livewire components which have proprietary paradigms for managing state and interactivity between the client and server. If JavaScript is disabled or fails to load, the app won't work.

Hotwire's approach makes a lot of sense to me, which is why I chose it for Waterhole. It's simple, light, resilient, performant, and has a great developer experience.

  1. In reply to Toby Toby

    @Toby I'm currently using Livewire alongside Waterhole but after reading this, I am considering switching to Hotwire.

    I started my project off with the Waterhole Skeleton Repo (composer create-project waterhole/waterhole), and I was considering installing Turbo-Laravel as a package rather than relying on the version Waterhole/core is using (so I could update to the latest version of Turbo-Laravel faster than relying on Waterhole updating it's dependencies).

    My question is, do you think that's a wise idea? My concern is that having two versions of Hotwire could cause issues.