AstonJ
Phoenix LiveView Info
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including.
What is Phoenix LiveView?
As described by @darinwilson “Phoenix LiveView allows developers to add dynamic, client-side interactions to web pages, using code that runs in Elixir on the server”. This mean you could kiss goodbye to front end frameworks like React and the JS-hell that so many of us have been finding ourselves in these past few years! As you might imagine, the community is very excited about this!
For a more in-depth explanation, check out Darin’s excellent blog post on the topic.
Official URL: GitHub - phoenixframework/phoenix_live_view: Rich, real-time user experiences with server-rendered HTML
Original announcement: Chris McCord’s ElixirConf 2018 Keynote
Threads of interest:
- Discussion thread surrounding Chris McCord’s Keynote
- Phoenix LiveView blog posts
- LiveView has gone… Live!
- LiveView demos, examples, and sample apps thread! - #19
- All threads tagged with Phoenix LiveView
- LiveView demos, examples, and sample apps thread!
Screencasts & Talks:
- Getting Started with Phoenix LiveView
- Coding LiveView talk with Bruce Tate
- Chris McCord ElixirConfEU Keynote: Phoenix LiveView - Interactive, Real TIme Apps - No need to write Javascript
Podcasts of interest:
- https://devchat.tv/elixir-mix/emx-020-phoenix-and-liveview-with-chris-mccord/
- SoundCloud - Hear the world’s sounds
When can you get your hands on it?
Chris has said “soon after Phoenix 1.4 comes out” (and 1.4 is due out soon!). Edit: Now! Here: GitHub - phoenixframework/phoenix_live_view: Rich, real-time user experiences with server-rendered HTML
Has there been anything like it previously? Has the idea been tried and tested at all?
We’ve put both of these questions together because the answer is yes and yes! There is a similar library in the Phoenix world called Drab, which has proven to be very popular in the community. LiveView tackles the same sort of problem but from a different angle - so if Drab is anything to go by, LiveView is going to be a huge hit ![]()
There is also another similar library that was announced at ElixirConf 2018, called Texas.
There’s now another new library, called Morphling… and… another called Whistle ![]()
Where can I get more details?
Chris McCord’s keynote is currently the best place to get details, followed by the blog posts on the topic as well as Chris and José’s comments in the numerous threads that have cropped up here on the forum.
Demos
-
Chris’s ElixirConf talk
-
Tweet from Chris on Nov 5 2018:
https://twitter.com/chris_mccord/status/1059273315666350080?s=20
- Blog post and another demo:
Most Liked
chrismccord
I am balancing LiveView and the Phoenix book right now, so bear with me 
joerichsen
@chrismccord has posted this on the DockYard blog
Has lots of useful info and cool examples - can’t wait to check it out 
cohawk
Also from Chris’s LoneStar talk he had just finished the implementation to run tests against LiveView, and before release wanted to implement LiveView generators and polish the documentation and guides.
mindok
6.5 hrs to go. Not that we’re counting 
AstonJ
Some more info from @jackmarchant’s blog post ![]()
Phoenix LiveView
Although it had already been announced (but not released yet), Phoenix LiveView was presented to the audience at Lonestar ElixirConf with a promise from Chris McCord to be released as early as the end of the month but at least in the coming months.
Chris spoke about the motivations for building LiveView and stressed the goal of delaying the inevitable single page application path for as long as possible. How long that is will be determined after release when people have had time to use it.
I am personally quite optimistic about it and although I’m happy to keep writing JavaScript on the frontend whenever I need to, it will make building prototype apps to showcase Elixir’s real-time capabilities much easier.
The conceptual programming model for LiveView is very similar to that of React and other JavaScript libraries, in that each component has a parent-child relationship, with the default behaviour that if a child component fails, it can be restarted back to its last known state. It is in this way they behave like children in a supervision tree. The similarities between frontend view libraries like React and Elixir/Erlang supervision Trees is a topic I have written about before.








