2. Gestures
Maps: pan, pinch, tap, double tap,
press and hold
Can’t build this with browser events
Goal: Simple component API,
pure JS
Slide 6
Slide 6 text
3. Performance: Making lists fast
Windowing: Only render what’s on screen
Render in chunks: Break up rendering to avoid jank
Layout: Avoid unnecessary reflows
Slide 7
Slide 7 text
What if layout was done in React?
Layout information available in render()
Avoids unnecessary reflows
Makes windowing simpler
Skip creation of layout-only views
Easily build new layout primitives
Slide 8
Slide 8 text
DX:
Developer Experience
Slide 9
Slide 9 text
Focusing on developer experience
means devs can build apps faster
and leads to higher-quality apps.
Slide 10
Slide 10 text
1. New project experience
Need to set up node, npm, gulp, webpack, babel
$-vim-app.js
$-react-run-GGplatform=web-app.js-
Goal: Quickly prototype with one file, then
grow app slowly over time
Slide 11
Slide 11 text
2. Devtools
Inspector for Chrome/Firefox (react-devtools)
Slide 12
Slide 12 text
2. Devtools
Inspector for Chrome/Firefox (react-devtools)
Hot loading (react-transform-hmr)
IDE support (nuclide, deco)
More like this, please!
Slide 13
Slide 13 text
3. Data management
React setState
Flux/Redux
Relay
Goal: Combine best of three, with easy setup
and code reuse
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
Getting There
Slide 17
Slide 17 text
React today
0.14 now, prod-ready and stable since 2013
React 15.0 RC next week
DOM: Full SVG support, no text wrappers
Internal refactors: No more React IDs, 10% faster
Slide 18
Slide 18 text
React is a growing community
300 react, 600 react-native committers in 2015
36,000 GitHub stars
225,000 Chrome users with react-devtools installed
Projects: redux, material-ui, react-router, enzyme
Slide 19
Slide 19 text
Help us keep building tools
for making great apps.
Thanks.