react native - t3chfest 2016

15
Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/ React Native ¡Todo el poder de React en tus manos! Leganés, 11 y 12 de febrero Eduard Tomàs Avellana

Upload: eduard-tomas

Post on 16-Apr-2017

750 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: React native - t3chfest 2016

Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0/

React Native

¡Todo el poder de React en tus manos!

Leganés, 11 y 12 de febrero

Eduard Tomàs Avellana

Page 2: React native - t3chfest 2016

¿Quien soy yo?• Desarrollador empedernido• Padre orgulloso• Cervecero insaciable

• @eiximenis

Page 3: React native - t3chfest 2016

¿Donde Trabajo?http://www.plainconcepts.com

Oficinas en Madrid, Bilbao, Barcelona, Seattle, Dubai, Londres

Page 4: React native - t3chfest 2016

¿Qué es React?• ReactJs: Librería para UI de JavaScript para el desarrollo web

• Basada en un modelo “data flow” y “single source of truth”

Page 5: React native - t3chfest 2016

Data flow• Los datos deben viajar en una sola dirección

• Desde la “fuente” hacia la vistes

• Bindings bidireccionales “are evil”

Page 6: React native - t3chfest 2016

Single source of truth• Solo hay una fuente de datos que tiene “la verdad”

• Los demás... Imágenes inmutables

• La mutabilidad “de la verdad” está centralizada y controlada

Page 7: React native - t3chfest 2016

JSX• JSX es un lenguaje que permite representar funciones JavaScript

utilizando etiquetas “tipo HTML”

Page 8: React native - t3chfest 2016

React Native• El core de React es totalmente independiente del DOM

• Los conceptos base de React son independientes del desarrollo web

• JSX es independiente de HTML

Page 9: React native - t3chfest 2016

React Native• Teoricamente se podría reimplementar React.DOM para que

renderizase algo que no fuese DOM

• Y en la práctica también. Y el resultado es React Native

Page 10: React native - t3chfest 2016

React Native vs...

Page 11: React native - t3chfest 2016

React Native• Workflow de desarrollo web• Herramientas de desarrollo web• El lenguaje de la web

• Pero una aplicación Nativa

Page 12: React native - t3chfest 2016

¿Nativa de verdad?• React Native usa un engine de JS que ejecuta el código JS en un

thread aparte• Este thread se comunica via mensajes con el thread de UI• JSX genera elementos nativos de UI

• Ventajas de app nativa (UI nativa, no web view)• Ventajas de “app web”: modificar código y “F5”

Page 13: React native - t3chfest 2016

¿Estilos?• React Native tiene una implementación de CSS propia

• React Native tiene una implementación de CSS pròpia

• Posicionamiento flexbox

• Parecida pero no igual a la CSS de web

Page 14: React native - t3chfest 2016

¿Más allá de React?• Para aplicaciones pequeñas React solo funciona muy bien

• Para aplicaciones grandes, necesitas algun patrón arquitectónico

• Flux, Redux,...

Page 15: React native - t3chfest 2016

¿Dudas?• Desarrollador empedernido• Padre orgulloso• Cervecero insaciable

• @eiximenis