4 ms·
i'm not a web developer but enjoy paying attention to this space from the sidelines. elixir and phoenix are wonderful. the phoenix liveview is a fantastic piec
by waynesonfire 6y ago
i'm not a web developer but enjoy paying attention to this space from the sidelines.
elixir and phoenix are wonderful. the phoenix liveview is a fantastic piece of technology; it moves the processing to the backend and allows the web application to be developed in the same language (mostly).
i just recently discovered microsoft blazor and it seems like it's an even better improvement. compared to liveview, the computation is moved back to the client while the development experience is still a single language. there is no more javascript (at least that's the claim) and the platform takes advantage of webassembly to deliver a high performance UX. really compelling stack. I hope it continues to drive the innovation in web development. I'm so excited to see the javascript eat dust. Maybe light at the end of the tunnel to a horrible 10+ year period of web development.
- devoutsalsa 6y agoI'm an Elixir developer, and I love the language, but I'm not sold on Phoenix LiveView. It sounds really cool, but it seems like there are too many edge cases. How do you scale it horizontally? What happens to user state when a connection is dropped? What do you do when you get a business requirement that hits one of LiveView's pain points? What if you have to swap out your backend for business reasons, and now you have to rewrite your frontend, too? I'm not trying to talk anyone out of LiveView; these are just the thoughts that prevent me from getting excited about it.
- dnautics 6y ago> How do you scale it horizontally If you're using Phoenix PubSub for your message queue, then it scales out automatically over PG2 clusters.
- ashton314 6y agoThere is now good support for keeping the data cashed client side, so that if your connection does drop, it can be restored once the connection is reestablished. That used to be a pain point, but as far as I have seen, it has been pretty well fleshed out now. This all happens mostly automatically, so you don’t have to worry about it. I think it’s just a parameter that you set to “true“.
- stephenhuey 6y agoMy understanding is that some kinds of horizontal scaling are much easier than in other languages and frameworks due to the clustering magic you get for free. https://elixirforum.com/t/phoenix-channels-horizontal-scalability/14196 https://elixirforum.com/t/phoenix-channels-horizontal-scalab... https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections https://www.phoenixframework.org/blog/the-road-to-2-million-...