AstonJ

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:

Screencasts & Talks:

Podcasts of interest:

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 :003:

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 :smiley:

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

https://twitter.com/chris_mccord/status/1059273315666350080?s=20

  • Blog post and another demo:

Most Liked

chrismccord

chrismccord

Creator of Phoenix

I am balancing LiveView and the Phoenix book right now, so bear with me :slight_smile:

joerichsen

joerichsen

@chrismccord has posted this on the DockYard blog

Has lots of useful info and cool examples - can’t wait to check it out :slight_smile:

cohawk

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

mindok

6.5 hrs to go. Not that we’re counting :wink:

AstonJ

AstonJ

Some more info from @jackmarchant’s blog post :smiley:

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.

Where Next?

Popular in Wikis Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New
Eiji
At start some definitions: HTTPS (is a protocol for secure communication over a computer network which is widely used on the Internet) -...
New
AstonJ
I’ve noticed we’ve got a few now - wonder if we can compile a list? This is a wiki - anyone at Trust Level 1 can edit :023: Link: This...
New
anildigital
Here is list of plugins for different editors Sublime Text 3 — Elixir.tmbundle - https://github.com/elixir-editors/elixir-tmbundle/#co...
New
axelson
Preamble This Wiki is intended to be a community-maintained (see the Contribution Guidelines if interested) resource of common “gotchas” ...
New
georgeguimaraes
Hi people, since the new year is coming, I’d like to plan my travels for events in 2017. So, what events (Elixir or FP related) that you...
New
Rich_Morin
I’d like to start a discussion of data serialization formats, in the context of Elixir. The rest of this note is a combination of persona...
New
OvermindDL1
It was stated at https://github.com/elixir-lang/elixir/issues/6172 that Mirrors of the primary Elixir website would be useful since Cloud...
New
gmile
:httpc HTTP client is part of Erlang standard library, and as such can be easily used in Elixir code too. One particular advantage of usi...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New

Other popular topics Top

TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
peerreynders
Manning 2016 Halloween weekend sale via Deal of the Day Friday, October 28 - Half off all MEAPs - code WM102816LT Saturday, October 29 ...
326 29600 154
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New

We're in Beta

About us Mission Statement