
Phoenix.LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript - pawelduda
https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-apps-no-need-to-write-javascript
======
josep2
I must say this is the first time I've been really impressed by a client-side,
real-time implementation. The API is simple and I can imagine building
something real-time without thinking about the translation from one protocol
to another like I would with web-sockets for example. I've never written a
line of Elixir, but this is interesting enough for me to try it.

~~~
mercer
Aside from Scenic
([https://github.com/boydm/scenic](https://github.com/boydm/scenic)) and
Nerves ([https://nerves-project.org/](https://nerves-project.org/)), Phoenix
LiveView is the new Elixir thing I'm most excited about.

I mean, I already 'bought in' to the ecosystem for many other reasons, but
these are / could be huge extra reason because 1) they solve problems I'm
facing, and 2) the potential popularity might alleviate the mild nervousness I
have about investing so much into what is still a very young and small
ecosystem. As it is, I still hesitate to use Elixir/Phoenix with many of my
clients.

------
sfusato
LiveView looks like a game changer. Can't wait to play with it.

------
nymanjon
An alternative to this is
[intercooler.js]([http://intercoolerjs.org](http://intercoolerjs.org)). Not
sure if it is quite as powerful or robust (as an Elixir backend) but if you
don't have the time or inclination to learn Elixir (which I do think is a cool
language, but at this time in my life I really don't have the time to learn),
intercooler is a nice alternative!

------
s369610
looks similar to server side blazor (razor components) added to asp .net core
3.0 [https://codedaze.io/introduction-to-server-side-blazor-
aka-r...](https://codedaze.io/introduction-to-server-side-blazor-aka-razor-
components/)

~~~
nathan_long
That does look similar! One thing they say though:

> We don't really know yet how well server-side Blazor (Razor Components) will
> scale with heavy use applications.

I don't think that's a concern with LiveView, as it's built on Phoenix
Channels, which in 2015 could already handle 2 million connections on a single
box: [https://phoenixframework.org/blog/the-road-to-2-million-
webs...](https://phoenixframework.org/blog/the-road-to-2-million-websocket-
connections)

------
kim0
Cool! Anything similar for Golang?

~~~
nymanjon
@kim0, See my comment about intercooler js. Not quite as powerful but it is a
similar concept that is back end language agnostic.

------
GrumpyNl
No need for java, but need for another language kind of markup script..

~~~
chrismccord
Also to be clear, if you are already in the Elixir web ecosystem, EEx
(Embedded Elixir) templates are what you currently write for regular server
HTML rendering. LiveEEx allows you to take those _same templates_ and support
the diffing optimizations the post shows off, so labeling it "another kind of
markup script" isn't accurate in this context.

