Open ndrean opened 1 month ago
at present the https://adopt-liveview.lubien.dev is only a beginners level: 🔰
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
What took me a bit of time to understand is these two points in Elixir:
async
does not existsThe 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).
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.