▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Senior Software Engineer en Spotify
Google Developer Expert en Web Technologies
Doy vida a proyectos usando web
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Fuente: The State of Javascript 2018
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
¿Dispositivo low-end?
Quizás no se pueda permitir uno nuevo
¿Navegador antiguo?
Quizás no tenga permisos para instalar uno nuevo
¿Red lenta?
En un avión, metro, wi-fi pública, plan de datos limitados...
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
<Router>
<TabBar>
<LazyLoad(CoverArt)>
<Connect(NowPlayingBar)>
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Server-Side Rendering
Esperando respuesta del servidor
Página visible, no interactiva
Client-Side Rendering
Esperando respuesta del servidor
Página en blanco
Ejecutar JS
tiempo
Ready
Ready
Ejecutar JS
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
* A excepción de YUI Loader, Require.JS y algunas herramientas propietarias
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
bundle.js
bundle.js
principal.js
acerca.js
contacto.js
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código de la ruta actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Viewport
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código para la ruta actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código para la ruta pantalla actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código para la pantalla actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código para la pantalla y navegador actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
estilos.css
bundle.js
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
bundle.js
cuenta.js
acerca.js
blog.js
Código JS
Código CSS en JS
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código para la pantalla y navegador actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
Podemos servir el código trocear los monolitos de JS y CSS para la pantalla y navegador actual
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
▲ RENDIMIENTO DE WEBS BASADAS EN COMPONENTES
@jmperezperez
@jmperezperez