~/talk

The sorcery of building a cross platform Design System architecture

Talkat React Alicante 2022 · 2022-09-29..10-01· [react, react-native]
slides:none on file

A concrete recipe for one codebase across web and React Native claims a single API that actually builds two isolated bundles by using dot.web and .native file extensions together with Metro and webpack resolution alignment tests run with Jest plus platform-specific React Testing Library setups bundles produced by Rollup with environment-driven Babel configs and types emitted via rollup plugin dts TypeScript module suffixes handle platform types accessibility props map to aria vs accessibility props and this setup runs in production for over a year without bloating bundle size

AI-written summary · about

  1. 0:00Introduction
  2. 1:58Cross-platform design system problem
  3. 3:44Architectural approaches
  4. 5:54Desired state checklist
  5. 6:57Typography component
  6. 8:41Abstracting common styles
  7. 10:04Bundler file extensions
  8. 11:51File renaming and setup
  9. 13:17TypeScript module resolution
  10. 15:01Cross-platform testing setup
  11. 16:25Tests for web and native
  12. 17:30Running tests and snapshots
  13. 18:39Rollup bundling config
  14. 20:06Bundling JS and types
  15. 23:20Bundling TypeScript definitions
  16. 24:25Verifying output and types
  17. 26:11Accessibility across platforms
  18. 27:36Platform-specific accessibility
  19. 28:18Bundle size and isolation
  20. 29:01Platform-dependent properties
  21. 30:22Higher-level components
  22. 31:25Platform-dependent types
  23. 32:31Scaling architecture
  24. 33:36Recap
  25. 35:01Closing and resources
~/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.