SPAs should do more than server-rendered apps, not less

Frontend First

Sam and Ryan chat about why frontend frameworks should make it easy for SPAs to replicate the behavior of a server-rendered web app. They also discuss various data-fetching scenarios, how a client-side app can stay in sync with the server's database, and share a few thoughts on module unification and dependency management.

Topics include:

  • 0:00 - Module unification

    • 1:20 - Component resolution
    • 5:45 - Why we don't use angle brackets
  • 9:35 - SPAs should do everything a server app can do

    • 10:15 - Ember's Router
    • 11:00 - Replicating the server's "fresh data" behavior
    • 17:15 - Reloading stale data
  • 23:50 - Fetching data

    • 23:50 - Getting Mirage working with React and Vue
    • 26:10 - Data loading components
    • 29:41 - Knowing what queries are currently rendered
    • 32:15 - Using cache keys to track what data is loaded
    • 35:00 - Pushing data into the client with web sockets
    • 39:00 - Describing Twitter's UI in queries
    • 44:00 - When will data loading be abstracted away?
  • 49:45 - Dependabot workflow

    • 50:20 - Can you merge a PR from a bot if all the tests pass?
    • 53:20 - Trust, but verify

Links:

Audio Player

-
--:--
--:--