dwyl / phoenix-liveview-counter-tutorial

🤯 beginners tutorial building a real time counter in Phoenix 1.7.14 + LiveView 1.0 ⚡️ Learn the fundamentals from first principals so you can make something amazing! 🚀
https://livecount.fly.dev/
GNU General Public License v2.0
380 stars 38 forks source link

Learn Liveview #223

Open ndrean opened 1 month ago

ndrean commented 1 month ago

I am adding a link to a site that - upon me - explains LiveView very nicely. The best I've seen so far. Worth reading and keeping.

https://adopt-liveview.lubien.dev/

For example, it explains clearly how to use these "slots" in functional components.

The GitHub repo shows also how to:

Maybe only missing "advanced" concepts like streams and async assigns.

For the async assigns with slots, I recommend to check this repo. It is a companion to this video: https://www.youtube.com/watch?v=FF9lSxeQkwA In this video, we does a simple async task is to generate a typst file from your data and render it. It is a nice printable document that you can download and print.

nelsonic commented 3 weeks ago

at present the https://adopt-liveview.lubien.dev is only a beginners level: 🔰

image

But it looks good/promising! 😍

@MikeRund you have followed the Adopt LiveView course and made loads of notes in your (paper) notebook. 📝 Please see: #226

ndrean commented 3 weeks ago

What took me a bit of time to understand is these two points in Elixir:

The response is that a long term running process is just calling itself. Then you can keep some state. GenServers are mostly this.

Then running something async is just spwaning another process in fact. It can be blocking if you "await", but mostly you want to use the wrapper Task. The beauty is that each process has a mailbox and referenced by its PID. So all you are doing is sending messages to mailboxes identified by PIDs.

Of course you have more than that with OTP. You have ETS and PubSub and more primitives for free (not even talking of distribution).