Hacker News new | past | comments | ask | show | jobs | submit login

I've been writing elixir for years (i think since 0.14?) and have been writing liveview for years. I'm all in on elixir in general, but I'm not sure I'd use liveview for another big project. Maybe it's just rose colored glasses because the TS/React world certainly has its own issues, but I think TS/react and regular old phoenix is a sweet spot. The composability of live view components still has a number of footguns (duplicate IDs, etc) and I think it has higher coupling than a nicely structured react app. You also have to treat liveviews and components fairly differently. All these design choices are for good reason, but it ends up being annoying in a large app. Also in deeply nested trees with lots of component reuse, static typing from TS really helps with refactors. As the projects grew to be large, I think I'm more productive with phoenix/TS than I am with phoenix/liveview.

I think there's a certain class of small to medium sized application (I'm building several) where liveview can be a good fit, but after writing it professionally and in hobby projects for several years, I'm less convinced that it's a great solution everywhere.




Thanks for taking the time to write this, I feel like I'm always seen the excitement of new users and appreciate some criticism from a veteran.

I've been considering LiveView for a real time application I need to make, but haven't been sure whether it's worth the effort of learning Elixir.


For a real time application, there is no better option than elixir and phoenix if you actually want to get something working and shipped. Things that you will need to do which would be wildly complex in other stacks are so simple in erlang and elixir. I highly recommend taking the time to learn it - and it's a fairly simple language so that process should go pretty quickly. The debate about Liveview vs React+Phoenix channels is an exercise left up to the reader.


Curious to hear if anyone have experience using Svelte together with LiveSvelte [0], as described in this blog post [1]?

In theory, it sounds like this could be the sweet-spot for using the Javascript ecosystem where its required where LiveView fall short.

[0]: https://github.com/woutdp/live_svelte

[1]: https://dockyard.com/blog/2024/03/14/harnessing-liveview-and...


I'm coming from the opposite. Years of Phoenix/TS and finally got tired of writing boilerplate code serializing and deserializing data just to make UIs work. I now find myself focusing 95% of my effort on adding business value rather than dealing with back-end/front-end stuff. Reminds me of the old JSP/ASP days when everything was sever-side.

I hear you on the typing part, but Elixir is taking a step in that direction with 1.8 and I only expect that to get better. I'm going to the Elixir Conf in Poland in May and hoping to learn more on what's next. So excited.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: