Ask HN: Why aren't there more 'Liveview' implementations?

5 points by hannofcart ↗ HN
I'm starting out with the Phoenix Liveview ecosystem and am surprised to find that there aren't many other equally popular implementations in other languages.

I guess I will continue proceeding with Elixir and Phoenix for now but having co-founded a startup that hit scale with Python and struggling though its performance issues until we switched to a static typed language, I'm wary of hitting similar bottlenecks with Elixir. Though I'm told the performance story is better.

Liveview as a concept seems so exciting. Not having to wrangle the complexities of an SPA in multiple languages on the frontend and backend seems almost too good to believe.

I'd imagine there would be a profusion of such implementations in static typed languages with great performance such as Golang, Java (there's Vadin but seems to have a small community) and Rust but am unable to find anything as mature as Phoenix. So I was wondering if there are any underlying reasons for it. Maybe something specific to how BEAM VM's fabled concurrency model that's hard to replicate in others?

7 comments

[ 2.9 ms ] story [ 28.8 ms ] thread
Laravel has it, Rails has it, even Django has it.
I should have included in the post that am now (very) partial to static typed languages with good runtime performance characteristics.

Really love Python, especially with the advent of Mypy. I just don't want to take the performance hit though.

You won't hit similar bottlenecks with Elixir because it is fast and extremely scalable. It also doesn't have a GIL, like Python does. Also, static typing doesn't affect scalability.
Glad to know that there aren't as many pressing worries about performance.

While you're right about static typing not affecting scalability (excluding the optimizations that a compiler can make in a type safe language), I like the refactoring convenience that type safety offers.

From what I can tell, Elixir seems to have a pretty decent story with dialyxir and typespecs. Excited to build something with it.