~/talk

Components as Data: A Cross Platform GraphQL Component API

Talkat JSConf US 2019 · 2019-08-12..08-14· [graphql, component-design]
speakerdeck:infiniteluke
slides:none on file

A concrete claim: a GraphQL-backed API serves a JSON UI tree so Android iOS Roku Samsung and web all render the same component graph used on NBC.com. Implementation uses a GraphQL schema that models components as types a runtime Components as Data renderer with a conditional resolver to handle platform variance and a lazy shelf pattern for pagination. Result is centralized business logic and A/B testing fewer duplicated queries and measurable query optimization and caching gains against previous client-side denormalization.

AI-written summary · about

  1. 0:00Intro
  2. 0:38Components
  3. 1:11Component Definition
  4. 1:31Props
  5. 1:55Component Example
  6. 2:30Component Composable
  7. 2:49I love components
  8. 6:10Decoupling Architecture
  9. 7:35restful
  10. 8:35Stripe
  11. 9:46HeyDos
  12. 10:06Pagination
  13. 11:47Monolith
  14. 14:11Offline first application
  15. 14:42Distributed local first
  16. 16:50Example
  17. 17:26React
  18. 20:44Basic Components
  19. 21:03Why GraphQL
  20. 21:37GraphQL Schema
  21. 23:55Page Type
  22. 24:24Apollo Playground Example
  23. 26:24Design Schema
  24. 26:52GraphQL Component Library
  25. 27:46React Frontend Implementation
  26. 29:38Handling Variants
  27. 31:51Good Parts
  28. 32:55Final Thoughts
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.