
TwistingTwists
Journal : Programming Phoenix LiveView
I have read first chapter. Will add my notes / code tries / self exploration as I go along!
Thank you @AstonJ for encouraging to start it.
I hope I’ll be able to finish the book in a couple of months.
Stay tuned!
Most Liked

TwistingTwists
Chapter 01 :
CONCEPTS / RE-Thinks
- SPA is a distributed system !
- SPAs have shared states.
How Elixir changes SPA?
-
Phoenix Channels = using BEAM for long lived HTTP connections! (as opposed to stateless) - using
socket.assigns
- think of channels as joining channels on slack.
-
sockets
function as routers where channel routes are defined. (auto generated by Phoenix) -
Phoenix.PubSub.PG2 - using BEAM native message passing to broadcaste and coordinate updates – where the complexity adds up in SPA !
- Leveraging the best of the Erlang VM.
-
Client for requesting data to SPA CAN BE anyone - watch, app, website, IoT !
- Anyone who subscribes to a
channel
→topic:subtopic
is a client.
- Standard (read : best practices) infrastructure to deal with
auth
. - Buggy network connections => Phoenix uses ETS-tables (BEAM’s strength) to ensure
fault tolerance
!
Source : from Chapter 01 + Channels — Phoenix v1.5.12.
Happy Reading!

AstonJ
Nice one TT! I am sure a lot of people are going to be interested in following your journal!
Popular General Dev topics










Other popular topics










Latest in General Dev
Latest (all)
Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /js
- /rails
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /vscode
- /opensuse
- /centos
- /ash
- /php
- /deepseek
- /zig
- /scala
- /html
- /debian
- /nixos
- /lisp
- /agda
- /sublime-text
- /textmate
- /react-native
- /kubuntu
- /arch-linux
- /ubuntu
- /revery
- /manjaro
- /spring
- /django
- /diversity
- /nodejs
- /lua
- /slackware
- /c
- /julia
- /neovim