[0:00] Preamble [6:30] Q&A: SolidHack? UI Libraries? TanStack? tRPC? [22:45] Introduction - Three Key Buckets [27:15] Differentiating SPAs & Server Components [34:45] Q&A: HTMX? Resumability? [38:30] Charting State in Web Architectures [45:00] Stateful Servers [50:00] Where Do MPA's Fit In? [58:45] Service Workers and The Client/Server Tension [1:03:45] The Single App Experience [1:09:15] What Do You Actually Do in a Web App? (WDYD) [1:24:45] WDYD: Client-Only Interaction [1:32:15] WDYD: Committed Interaction [1:45:30] WDYD: Navigate to a Different Page [1:59:45] WDYD: Load The Page [2:09:00] WDYD: Tallying The Scores [2:16:45] WDYD: Conclusions [2:29:45] Q&A: CDN? Lakes? Resumability? [2:36:00] Optimizing Actions: Introduction [2:43:00] OA: Progressive Enhancement & Refined Responses [2:52:00] Advanced Caching with Router APIs: Introduction [2:56:30] ACwRAPIs: The Wrapper Approach [3:02:00] ACwRAPIs: Where Do You Put The Wrapper? [3:11:30] Next.js & "use cache": Introduction [3:16:45] "use cache": Questions & Code Example [3:22:45] "use cache": Testing in AST Explorer [3:27:00] "use cache": Compiler + Runtime + Infrastructure [3:32:15] "use cache": Cache Keys (Tags) & Invalidation [3:37:30] "use cache": Another Idea [3:44:00] "use cache": Conclusion [3:52:15] Server Signals as Architecture: Introduction [3:57:15] SSaA: But, Why? What Are They Doing? [4:02:15] SSaA: Event -> Server [4:08:00] SSaA: Only Isomorphic Signals? [4:13:00] SSaA: Thinking About Compilation [4:20:00] SSaA: Making Sense of This & Examples [4:29:15] SSaA: Conclusion - Is This Better Than Diffing? [4:35:00] A Brief Aside on Web Components & "Sprinkles" [4:42:15] Intermission [4:46:15] This Week in JavaScript: Brenley Dueck's Tutorial [4:48:15] TWiJ: solid-events [4:56:15] Quick Explanation of Optimistic UI [5:00:00] More on Stateful Servers & Conclusion Fantastic stream! So sorry for the delay on these timestamps. 😅
I think the size or bundle boundaries shift a lot with types of optimizations available. So stuff where the whole mental model exists in the client are going to have the potential to be larger/muddier. So I can see an argument that being a characteristic on the SPA side. But anything with those characteristics can suffer from it a bit. Islands being basically miny bastions of this mentality also can. I don't know that clearer bundle boundaries are anything but DX consideration though.. larger bundle sizes is definitely legitimate from UX perspective. And in so in a similar way we penalized server-only models in ephemeral state updates we penalized the SPA on initial load.
[0:00] Preamble
[6:30] Q&A: SolidHack? UI Libraries? TanStack? tRPC?
[22:45] Introduction - Three Key Buckets
[27:15] Differentiating SPAs & Server Components
[34:45] Q&A: HTMX? Resumability?
[38:30] Charting State in Web Architectures
[45:00] Stateful Servers
[50:00] Where Do MPA's Fit In?
[58:45] Service Workers and The Client/Server Tension
[1:03:45] The Single App Experience
[1:09:15] What Do You Actually Do in a Web App? (WDYD)
[1:24:45] WDYD: Client-Only Interaction
[1:32:15] WDYD: Committed Interaction
[1:45:30] WDYD: Navigate to a Different Page
[1:59:45] WDYD: Load The Page
[2:09:00] WDYD: Tallying The Scores
[2:16:45] WDYD: Conclusions
[2:29:45] Q&A: CDN? Lakes? Resumability?
[2:36:00] Optimizing Actions: Introduction
[2:43:00] OA: Progressive Enhancement & Refined Responses
[2:52:00] Advanced Caching with Router APIs: Introduction
[2:56:30] ACwRAPIs: The Wrapper Approach
[3:02:00] ACwRAPIs: Where Do You Put The Wrapper?
[3:11:30] Next.js & "use cache": Introduction
[3:16:45] "use cache": Questions & Code Example
[3:22:45] "use cache": Testing in AST Explorer
[3:27:00] "use cache": Compiler + Runtime + Infrastructure
[3:32:15] "use cache": Cache Keys (Tags) & Invalidation
[3:37:30] "use cache": Another Idea
[3:44:00] "use cache": Conclusion
[3:52:15] Server Signals as Architecture: Introduction
[3:57:15] SSaA: But, Why? What Are They Doing?
[4:02:15] SSaA: Event -> Server
[4:08:00] SSaA: Only Isomorphic Signals?
[4:13:00] SSaA: Thinking About Compilation
[4:20:00] SSaA: Making Sense of This & Examples
[4:29:15] SSaA: Conclusion - Is This Better Than Diffing?
[4:35:00] A Brief Aside on Web Components & "Sprinkles"
[4:42:15] Intermission
[4:46:15] This Week in JavaScript: Brenley Dueck's Tutorial
[4:48:15] TWiJ: solid-events
[4:56:15] Quick Explanation of Optimistic UI
[5:00:00] More on Stateful Servers & Conclusion
Fantastic stream! So sorry for the delay on these timestamps. 😅
Another great stream.
Do you think Bundle size or clearer bundle boundaries deserves to be added as a feature/characteristic in these buckets?
I think the size or bundle boundaries shift a lot with types of optimizations available. So stuff where the whole mental model exists in the client are going to have the potential to be larger/muddier. So I can see an argument that being a characteristic on the SPA side. But anything with those characteristics can suffer from it a bit. Islands being basically miny bastions of this mentality also can.
I don't know that clearer bundle boundaries are anything but DX consideration though.. larger bundle sizes is definitely legitimate from UX perspective. And in so in a similar way we penalized server-only models in ephemeral state updates we penalized the SPA on initial load.
@Ryan, Wed love a copy of that excalidraw page for those who werent able to see the stream to catchup!
I put a link to the images (in an X post) in the description.