Overview
Syllabus
Intro
Give it five minutes.
We all like separation of concerns, right?
Coupling is
Cohesion is
inevitably tightly coupled.
highly cohesive.
Templates separate technologies, not concerns.
Symptoms that your front-end technology is underpowered
The framework cannot know how to separate your concerns for you.
This tool is a React component.
Use components to separate your concerns.
Components are reusable.
Components are unit testable.
What about spaghetti code?
Just don't write spaghetti code.
What about working with designers?
JSX is an optional preprocessor to let you use HTML-like syntax.
With JSX, it's easy for designers to contribute code.
The accessibility of templates and the power of JavaScript.
Re-render the whole app on every update
Data changing over time is the root of all evil.
When the data changes, React re- renders the entire component.
That is, React components are basically just idempotent functions.
Re-rendering on every change makes things simple.
React's architecture looks a lot like the Doom 3 engine
The virtual DOM lets us do fun things.
Virtual DOM is simple and fast
Announcing React devtools
Taught by
JSConf