☕️ Lounge
M Michael May 23, 2024

The Waterhole stack

Hey @Toby,

first I'd like to congratulate you for launching this project, it seems very well put together and mature to me. I regret that I currently don't have the need for a discussion platform, but Waterhole will be my first choice in case that changes.

As a fellow web developer I was wondering if you have any thoughts on the stack you chose for this Laravel setup, now that Waterhole is over a year old. I'm especially curious what you think about Hotwire in combination with Laravel.

Cheers from Germany,

👍️ 1 Like Loading...
3 ⁨3⁩ ⁨comments⁩

⁨3⁩ ⁨Comments⁩

Toby Toby Waterhole Founder Jun 3, 2024

Hi @Michael, thanks very much for your kind words.

In my other job I work with both React and Vue, and coming back to Waterhole is always breath of fresh air. I find the Laravel + Hotwire stack much simpler to work with and reason about. There's no client-side state management to worry about, no rendering performance issues, and working directly with the models/database is refreshing.

I'm a huge fan of Laravel's Blade components in keeping the view layer nice and tidy. And I really like the Hotwire paradigm, because at the end of the day, it feels like I'm building a really basic web 1.0 app, just with a bit of progressive enhancement. I would highly recommend it!

In reply to Toby Toby

I really wanted to know, Why Hotwire? why not use Livewire for this project?

I only reason i'm still thinking about buying this package is Hotwire choice, not a deal breaker but i don't want to know yet another stack outside work.

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.