"Inspirado" en la charla en UIKonf de Nick Lockwood
- Ciclo de desarrollo lento
- Ciclo de release eterno
- Equipos separados por plataforma
- APIs distintas para hacer lo mismo
- Rendimiento pobre
- Experiencia de usuario inferior
- Funcionalidades nativas limitadas
Ciclo de desarrollo lentoRecarga instantáneaCiclo de release lentoActualizaciones OTA legales !!!Equipos separados por plataformaMismas herramientasAPIs distintas para hacer lo mismoAPIs consistentes
Rendimiento pobreÁrbol de vistas virtualExperiencia de usuario inferiorVistas nativasFuncionalidades nativas limitadasFácil de extender
- Hacer aplicaciones dinámicas es complicado
- Pocos estados -> muchas transiciones
- Escalar aplicaciones web estáticas es mucho más fácil
- Petición HTTP -> App -> Respuesta HTML
- Entender
- Debuggear
- Mantener
- Reutilizar
- Testear
render: function(state) {
return (
<View name={state.name} />
);
}- UI funcional basado en componentes
- Árbol de vistas virtual
- Frontend en JavaScript (ES6, npm, TypeScript...)
- Layout con JSX
- Estilos inline con Flexbox (Next-Gen CSS)
- Backend nativo (UIKit, network, storage, location...)
- Hilo en segundo plano ejecuta nuestro JavaScript
- Hilo principal habla con UIKit, red, etc
- Comunicación mínima entre ellos
- El hilo principal avisa de eventos
- JavaScript manda diffs de cambios en vistas
- Visual Studio Code, Sublime, Atom, ...
- Nuclide
- ESLint
- Muy joven, no es 100% estable/completo
- Comunidad muy activa
- Varias apps de Facebook ya en la AppStore
- Disponible para Android






