I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up.
edit: and yes I know WhatsApp was/is written in Erlang, just to save you commenting.
I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up.
edit: and yes I know WhatsApp was/is written in Erlang, just to save you commenting.
All programming languages are Turing-complete thus compatible. So you shan't need much more than Brainfuck.
But if you consider all the benefits the language and the platform it sits on (the BEAM) provides, no, you cannot do Live View as easily and comfortably than you can do on Elixir. Because its model is strongly tied to lightweight processes, message passing, mailboxes and pattern matching.
You can implement Live View in assembly or Python or Rust, but it's not going to be very quite as ergonomic and productive.
Also, you don't need to know Erlang to be productive in Elixir, but knowing the Erlang ecosystem (i.e. OTP) is going to pay dividends, since it's very powerful and at your fingertips from the Ruby-like comfort of Elixir.
XSL-T 1.0 is Turing complete but you can't really write a C compiler in it - despite what some people may have been heard to claim at various XML conferences in 2000 - because what matters in most things is what rights and accesses the language offers you and XSL-T 1.0 does not give you the possibility of loading in non-XML files.
I would love to see this.
You need to learn Elixir. Learning Erlang isn't going to be particularly helpful.
> I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up.
Blazor (C#) and StimulusReflex (Ruby) are the ones that immediately pop into my head.
My understanding of the origin of Phoenix is that Chris McCord tried to create something like LiveView in Ruby, but the concurrency system didn't support the vision he had for how it would work. He cast around a bit, discovered Elixir and create Phoenix and then LiveView.
The concurrency story in other languages is improving over time, but they're still trying to catch up with what Erlang was doing in the 80s. Building complicated applications on top of the BEAM and OTP is a joy compared to any other system that I've used. You learn a few simple approaches, and many things you've had to think about just go completely away.
That said, learning Elixir first will at least get you in the right mindset, and then Erlang becomes an easy lesson in syntax.
As others have pointed out there already are lots (missing at present are LiveWire and there is even a LiveView.js that uses the same JS that Phoenix LiveView uses... it's a very unfortunate name).
Having said that, most of these implementations aren't "live" in the same way you get with the Erlang virtual machine where each user has a dedicated process. It's at least possible in Go, but most of these other implementations resort to AJAX and the like.