Hacker News new | ask | show | jobs
by derekkraan 1101 days ago
I'm glad someone has written about this. I actually wanted to write this very blog post, and even made a crappier version of this flow chart.

Why? Because people think they know what LiveView is, but they don't, because the pretenders out there (LiveWire, StimulusReflex and all the rest) are poor imitations.

Don't sleep on LiveView.

5 comments

The best part about Livewire is that it was appealing enough to try out but bad enough that I left PHP/Laravel and moved to Elixir/Phoenix for the real deal.
Why so much negativity? 37signals (with Stimulus) are the OGs of this architecture. Livewire started at same time as LiveView and because of PHPs limitations it has to use different tactics/innovations (like using clientside JS more with Alpinejs) that then LiveView benefits from.

Calling them poor imitations is disingenuous and spitting on open work of many people.

"Poor imitations" is probably harsh, but I agree with the idea that LiveView's architecture is substantially different from Hotwire or LiveWire. To have experienced Hotwire is not to have experienced LiveView, ironically enough, for reasons outlined in the posted article.
But all this sounds like Hotwire/Livewire are not good architectures for many many types of projects.

Biggest Liveview app i know is fly.io dashboard and the issues it has from ux standpoint are very similar to hotwire apps.

Actually Basecamp and Hey.com are a lot bigger apps than fly.io dashboard and they are doing just fine.

You don't have to jump to Elixir to experience similar approach when you know rails/laravel already.

I would not call out StimulusReflex and the rest like that, it all boils down to the language runtime they are built upon. They are good at what they are trying to accomplish in my opinion.
Yes, it does boil down to the language runtime.

But that doesn't change the fact that they don't reproduce half of what LiveView can do.

They didn't have to call themselves "LiveView for Ruby!"

I meant it more as a PSA: if you've tried any of these other projects, you still owe it to yourself to give LiveView a try!

You’re right, the claim of an equivalent to LiveView is a bit far fetched.

https://github.com/liveviews/liveviews

OTOH, those other languages have decent ecosystems.
I don’t think it’s fair to call the Elixir/Erlang ecosystem indecent. Of course it’s not on par with the vast ecosystems of the top 10 most popular languages, but in my experience, there’s at least one solid package for most things you might need.
One of my favorite things about programming in Elixir is the fact that for an absurd number of problems, there's not just a library that solves it, but an official one from the OTP. It cuts down dramatically on time spent evaluating different options.
Have you, like, used Elixir seriously? I’ve worked as a professional Elixir dev and we were never wanting for a library to do what we needed. mix is excellent. It all feels very mature given its age.
What do you need that isn't in OTP though? Integrating with SaaS APIs is basically the only thing I've wanted that isn't buried in there somewhere.
come join us and contribute!

built my startup on elixir/phoenix. while there could certainly be a better selection of libraries, its not that hard to roll your own and elixir has straight up features that you can't replicate in most other ecosystems

Ecto on it's own should be a good enough reason to use Elixir!
I concur.. once I wrapped my head around the way ecto worked, I couldn't help but wonder why this wasnt the way every orm works. its lightyears ahead of anything I tried in node, rust or ruby.
I've used both Ecto and the Django ORM and I have to say that the Django ORM feels a lot more intuitive and seems to be incredibly powerful. Now granted I don't have more than a few months of experience working with each, so maybe there is some elegance to Ecto that I don't grok.
Funnily enough first LiveWire release i could find is from Apr 15, 2019 and first LiveView release is from Aug 25, 2019.

One would think that the imitations would come after the original not before.