axelson

axelson

Scenic Core Team

ElixirConf2019: Beyond LiveView: Building Real-Time Features with Phoenix LiveView, PubSub and Presence - Sophie DeBenedetto

by @SophieDeBenedetto

LiveView’s reliance on server-rendered HTML and leveraging of bi-directional communication over WebSockets means that we can build resilient and highly scalable real-time features almost entirely in Elixir––without writing any of our own JavaScript. It’s no wonder that developers are starting to flock to LiveView to support things like user notifications, form validations, application monitoring, autocomplete, and more.

However, as we use LiveView for more and more real-time features, we will naturally reach for the other real-time functionality that Phoenix has promised us: user tracking and message broadcasting. What happens, for example, when our real-time markdown editor needs to support collaborative editing à la Google Docs? Do we eschew LiveView and return to Phoenix Channels and Presence? Do we incorporate LiveView into a page that is already backed by these other technologies?

Nope! Thanks to the flexibility of Phoenix’s PubSub and Presence libraries and their reliance on OTP principles, we can seamlessly incorporate these technologies directly into our live views. In this talk, we’ll learn how to use LiveView together with Phoenix PubSub and Presence to support real-time message broadcasting and user activity tracking across a set of clients.

View all threads tagged with liveview
View all elixirconf2019 talks

Where Next?

Popular in Talks Top

CodeSync
Introducing Phoenix Sync - James Arthur | ElixirConf EU 2025 | ElixirConf EU 2025 Comments welcome! View the <span class...
New
axelson
by @girlsleuth Whether you call it UI testing, End-to-End Testing, End-to-User Testing, or Acceptance Testing–it is often an intensely ...
New
New
axelson
by @SophieDeBenedetto LiveView’s reliance on server-rendered HTML and leveraging of bi-directional communication over WebSockets means ...
New
axelson
ElixirConf 2017 - Working with legacy databases in Ecto - @geo Often when starting an Elixir or Phoenix proj...
New
axelson
ElixirConf US 2018 – Making a GraphQL Server with Absinthe &amp; Dataloader – Aaron Votre (@shamshirz) The GraphQL query...
New
axelson
Here’s today’s talk: ElixirConf 2017 - Don’t Write Macros But Do Learn How They Work - by @jessejanderson You may have ...
New
LostKobrakai
After having watched the talk I'm wondering if this would also be a good opportunity to gather examples / tips about how to prevent or mi...
New
axelson
Here’s the last ElixirConf 2017 video of day one! ElixirConf 2017 - Scaling up Elixir at TpT - by @shanti I...
New
New

Other popular topics Top

josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
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
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
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
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

We're in Beta

About us Mission Statement