CharlesIrvine

CharlesIrvine

How to get started with Phoenix LiveView 1.7?

I have been trying to learn Phoenix LiveView for a couple of months now. The best learning resource I’ve found so far is the video course from “The Pragmatic Studio”. Unfortunately, this course is fairly out-of-date, especially now that Phoenix 1.7 and LiveView 0.18 are out (“almost” in the case of Phoenix 1.7). The authors, Mike and Nicole, are busy creating an up-to-date refresh, but it might be some time (I’m afraid) before the update is available.

So, this leaves folks with only the latest official Phoenix and LiveView documentation. Maybe I just haven’t figured out the organization of this documentation yet, but so far it seems to me that it isn’t very useful for people just getting started with Phoenix LiveView.

IMHO the official documentation really needs and deserves a much more extensive “getting started” user guide, especially for LiveView. For me at least, it seems that LiveView is now an integral and essential component of Phoenix. Hence, why not include the basics of LiveView in a comprehensive Phoenix+LiveView “getting started” guide?

I apologize that this post is a little negative. I am very enthusiastic regarding Elixir+Phoenix+LiveView and intend to use these great tools to rewrite my existing commercial web application, which is currently written with Elixir+Angular.

Marked As Solved

josevalim

josevalim

Creator of Elixir

One of the good news with Phoenix v1.7 is that HEEx and function components are the building block for everything HTML related in Phoenix, with or without LiveView, and the guides have been updated to teach them. So while we don’t talk about LiveView (yet), function components get good coverage and that will already take you half way into learning how LiveView works!

24
Post #9

Also Liked

josevalim

josevalim

Creator of Elixir

Quite the opposite!

Most frameworks would have likely called this version 2.0 but we kept it as Phoenix 1.7 exactly because everything is still backwards compatible. Which other major web frameworks out there have not pushed breaking changes in 7.5 years?

Of course, Phoenix LiveView is before 1.0, so it doesn’t reap the benefits of major versioning yet, but even then we have been careful with deprecations while exploring a programming model with plenty of new ideas.

And Phoenix v1.7 is exactly the maturing of the ideas from the last 3 years. It is a bit early to expect plenty of learning materials while it is still a release candidate. And that would be true for most technologies. So just be a bit patient and those materials will come out.

Gumi

Gumi

Yeah, it’s a weird combination of lots of information being available but it all feeling pretty useless when you are new. People often just link the Hexdocs as if people hadn’t already found them and the Hexdocs only ever feel useful when you already know what the process you’re trying to is and just need a refresher. For first time learning they are pretty confusing as they don’t even tell you which location the code snippets should be in or what other locations need to be modified.

I started learning a few months ago and basically learnt everything from reverse engineering either the mix.phx.gen options, or from the few github projects I could find…and by literally typing random things in until something works. I firmly believe the monkey’s and typewriters saying is true based on the number of times I’ve managed to just luckily guess how things work in Phoenix because I couldn’t find the information.

On the plus side I only started learning Live a couple of days ago and managed to do the same things it took me a month to do using Controllers because I have a much better understanding of how everything connects together now.

12
Post #4
LostKobrakai

LostKobrakai

This is imo the biggest hurdle for any educational material. LV has been a moving target for quite a while and I’m not sure if it’s yet at a point of slowing down. Sure it would be nice to have all the educational material available, but these things take time and effort – even the existing pieces do/did. It be great if someone stepped up to take this to the in depth level, but those efforts are hard to justify if things might be out of date in 6-8 month. In the best case it’s just stale content in the worst it’s actively confusing people, because different sources talk about different things.

Where Next?

Popular in Questions Top

chokchit
** (DBConnection.ConnectionError) connection not available and request was dropped from queue after 2733ms. You can configure how long re...
New
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
vac
Hi, I’m quite new in Elixir and I’m trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and I...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
yawaramin
In the Dialyzer docs ( dialyzer — OTP 29.0.2 (dialyzer 6.0.1) ), there is a way to turn off a specific warning for a function: -dialyzer...
New
PeterCarter
There are pre-rolled solutions for other frameworks that do work. However, Phoenix does not seem to have these. Have people had good expe...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
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
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
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement