resuelve la parte de Vista de un MVC • Se puede integrar en otros frameworks • Propone dos ideas polémicas: 1. Markup dentro de JavaScript 2. No se dice qué hay que modificar cuando cambia el estado, simplemente se reconstruye la vista desde cero (like it was 1995!).
estado (o se renderiza por primer vez). this.props: Propiedades pasadas al crear el elemento ➝ inmutable. this.state: Estado del elemento ➝ mutable. Se invalida al llamar a this.setState.
actualización. • Calcula el número mínimo de cambios sobre el DOM real. • Los cambios se hacen en batch, evitando ciclos de relayout. “¡La abstracción atenta contra la performance!” Alquien que nunca uso un compilador.
Algunos ridículamente ◦ x840 ;) http://bit.ly/1906Cnm (usando Om) • HTMLBars & mithril/mercury (ambos sobre virtual-dom), le dan pelea. • Las optimizaciones siempre se atacan por el mismo lado: componentShouldUpdate.
Engineering Manager, Facebook. https://www.youtube.com/watch?v=nYkdrAPrdcw MVC según Facebook: (YMMV) “¡Este código es inmantenible! ¡Hay que reescribirlo!” Cualquier programador con autocrítica
debe completarse antes de lanzar otra acción. ◦ Más fácil de debuggear y de comprender el flujo del programa. • Las stores son de solo lectura, la acción no modifica el store directamente.
renderizadas en el server (aka apps isomórficas) ◦ Escribir codigo node-friendly, bundlear. ◦ SPA: no solo por experiencia de usuario. • Son conceptualmente muy simples ◦ La única magia es el algoritmo de diferencias, (leakea muy ligeramente, hasta ahora). • Cross-browser DOM + events manejados por React.