Getting Pushy: Pushing Data From Server to Browser
summary
Lift demonstrates a working server-push stack: a single HTTP long-pole multiplex from browser to server, streaming promises that can be fulfilled repeatedly, and globally unique identifiers for server functions so calls serialize as small refs not whole objects. Delivery-once semantics use client/server clocks and cached responses to survive proxy retries. A Clojure/ClojureScript/AngularJS side project (plu) serializes channels as guides, runs core.async–style channels across HTTP, and the demo chat and spreadsheet prototypes function end to end.
AI-written summary · about
chapters (19)
- 0:00Why the lab coat?
- 2:20Across Address Spaces
- 4:08Transport
- 4:40Marshalling
- 6:37Program Semantics
- 9:35About HTTP
- 13:39Respect the GUID
- 16:26Confirm(ish) Delivery
- 19:24HTTP Push
- 21:27Lift 3: Data Focus Lift
- 22:59Lift Data Chat
- 24:30Lift Streaming
- 25:16Lift Client HTML
- 25:46Lift Client JS
- 30:21Clojure core.async
- 31:32Plugh Client
- 36:25Plugh Server
- 37:57Spreadsheet-Inator
- 44:12Questions?
related talks
36mPush it push it some more
53mThe Client and Server Need to Talk
40mTo push, or not to push?! - The future of HTTP/2 server push
24mEmbracre HTTP2 Server Push
01h 16mGoing Async - Practical Patterns for Push-Enabled Applications
03h 16mPUSHing web app performance with HTTP/2
25mTaming Client-Server Communication
31mThe web is getting pushy
