SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Hola!
Me llamo Martín
Soy antiguo alumno de unileon
y responsable técnico de idealista/news
Me podéis encontrar en @mgzrobles
https://www.idealista.com/info/trabaja-con-nosotros
“Hay dos cosas que realmente importan,
el contenido y el tiempo que tardamos
en servirlo
Martín González Robles
93%81% 2h
Casi el 90% del tiempo los usuarios
están conectados en sus móviles a partir
de aplicaciones.
29%
of smartphone users will
immediately switch to
another site or app
if it doesn’t satisfy their
needs (for example, they
can’t find information or
it’s too slow)
40%
of shoppers will wait
no more than three
seconds before
abandoning a retail or
travel site
1s = $1.6 B
Amazon would lose $1.6
billion in sales every year if its
site took one more second to
load
“La velocidad no es solo una
característica, es LA característica
Urs Hözle, ingeniero de Google
SIEMPRE
hay que pensar en
el rendimiento
SIEMPREEn serio,
Psychological time in our
brain usually differs from
objective time on the clock
Denys Mishunov
¿Qué vamos a ver?
● Infraestructura
● Cache
● Frontend
● Lo que viene (y ya está aquí)
Infraestructura
Infraestructura
Oracle/MySQL
Memcached/Redis
Solr/ElasticSearch
Apache/Nginx/Tomcat
Java/PHP
Load Balancer
HA Proxy / Varnish
CDN
Time To First Byte (TTFB)
El TTFB es el tiempo que tarda un navegador en
recibir la primera pieza de información desde un
servidor web después de realizar la petición al
mismo.
Time to upgrade
Cache
CACHE, CACHE, CACHE
Niveles de cache
● Browser
● Reverse proxy
● Memoria
● Disco
● Base de datos / Index
Cómo cachear
● Evita hacer el trabajo cada vez
● Evita hacer el trabajo en el path crítico
● Cache permanente
● Cache temporal
● Aplaza la ejecución para después del contenido principal
CACHE HIT
1 2
4 3
1
2
REQUEST
REQUEST
Miss vs Hit
CACHE MISS
max-age
Cuánto tiempo puede pasar hasta que se
considere un recurso como obsoleto.
“
Phil Karlton
There are only two hard things in
Computer Science: cache invalidation and
naming things.
Estrategia de Cache
Page
Cache
Page
Cache
Dynamic
Page
Cache
Usando
placeholdersy
cargando el
contenido dinámico
vía AJAX o ESI (Edge
side include)
Obteniendo los datos
● Monitoriza siempre
● La base de datos es lenta
● Usa buenos índices, revisa tus “where”
y tus índices
● Si es necesario cambia tus consultas a
solr o elastic
¿FUEGO?
¿Muchas request/sec?
Reverse proxy
Capa extra de seguridad
Balanceo de carga
Content caching
301
...
Frontend
La importancia
está en las
imágenes
Suponen el 64% del payload de la página
● El tamaño sí importa
● El tamaño sí importa
● Lazyload y data URI
<img
src="data:image/gif;base64,R0lGODlhEAAQAMQA ..."
data-src="https://www.mysite.xyz/dog.png"
width="725" height="350" alt="My dog">
● El tamaño sí importa
● Lazyload y data URI
● Responsive
<img
srcset="large.jpg 1440w,
medium.jpg 960w,
small.jpg 480w"
sizes="(min-width: 36em) 33.3vw, 100vw"
src="medium.jpg"
alt="…">
Usa srcset para diferentes tamaños por
breakpoints.
Usa <picture> si tus imágenes varían más
especialmente (art direction, croppings, styles, etc).
● El tamaño sí importa
● Lazyload y data URI
● Responsive
● Usa CDN <img src="https://www.mysite.xyz/dog.png" alt="My dog">
<img src="https://cdn.mysite.xyz/dog.png" alt="My dog">
CSS/JS
● Minificación y unificación
● Evita cargar código innecesario según el dispositivo
● Pon inline el CSS que “pinte” la parte crítica de la página
● CSS Sprites
● El resto al final del DOM
Precarga de recursos
Dns-prefetch
(dns)
Preconnect
(dns+tcp)
Prefetch
(low priority, next navigation)
Prerender
(low priority, next navigation, all page)
Preload
(high priority, current navigation)
<head>
<link rel="prefetch" href="https://example.com/media/image.jpg">
...
<body>
<img src="https://example.com/media/image.jpg" alt="...">
Lo que viene (y ya está aquí)
Nuevas cabeceras
● Downlink Indica la velocidad máxima
de descarga.
● Save-Data Este booleano indica si se
deben tomar medidas adicionales para
reducir la carga útil.
<meta http-equiv="Accept-CH"
content="DPR,Width,Viewport-Width,Downlink,Save-Data">
AMP
Accelerated Mobile Pages ( AMP )
es un proyecto open source
que pretende ayudar a los editores a crear
contenido optimizado para móviles
y que pueda ser
cargado instantáneamente
en todas partes.
Progressive Web Apps
Experiencia en móviles lo más parecida a la de una aplicación nativa
● Carga instantánea
● Interfaz como una app
● Añadir la página a la HomeScreen del móvil
● Full screen
● Offline first con Service Workers
● Push notifications
Recursos
● https://es.slideshare.net/ckrina/improving-responsive-web-design-process-2016
● http://idealista.github.io/dcamp2016-amp/#/
● https://vimeo.com/166918786
● https://es.slideshare.net/EstebanTundidor/charla-web-performance-optimization-20212185
● https://info.varnish-software.com/blog/enhancing-mobile-web-performance
● https://info.varnish-software.com/blog/personalizing-mobile-web-experience
● https://info.varnish-software.com/blog/page-size-matters
● https://www.smashingmagazine.com/2016/01/leaner-responsive-images-client-hints/
● http://httpwg.org/http-extensions/client-hints.html
● http://deanhume.com/home/blogpost/service-workers--save-your-users-data-using-the-save-data-header/10139
● https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/
● https://yuiblog.com/blog/2007/04/11/performance-research-part-4/
● http://www.ditrendia.es/wp-content/uploads/2015/07/Ditrendia-Informe-Mobile-en-Espa%C3%B1a-y-en-el-Mundo-2015.pdf
● https://chromatichq.com/blog/responsive-images-drupal-8-using-srcset
● https://gomakethings.com/inlining-critical-css-for-better-web-performance/
● https://ericportis.com/posts/2014/srcset-sizes/
● https://developers.google.com/web/progressive-web-apps/
● https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/
● https://csswizardry.com/2013/01/front-end-performance-for-web-designers-and-front-end-developers/#section:http-requests-and-dns-lookups
● https://www.keycdn.com/blog/resource-hints/
Esta tarde Drupal & Tapas
Hora: 19:30
Lugar: Four Lions (Calle Sierra Pambley, 6)
https://goo.gl/maps/nvrrqk3CwMS2
https://groups.drupal.org/node/516823
Gracias
¿Preguntas?
Me podéis encontrar en @mgzrobles

Más contenido relacionado

Similar a Optimización web: infraestructura, cache, frontend y lo que viene

Thinking of CPU and Memory (1.0)
Thinking of CPU and Memory (1.0)Thinking of CPU and Memory (1.0)
Thinking of CPU and Memory (1.0)Oriol Jiménez
 
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Pablo Martinez Fernandez
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogAlfonso Moure Ortega
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web SitesopenfinanceDev
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacionGonzalo C.
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Oriol Jiménez
 
Parcial I de Multimedia - Semestre 201322
Parcial I de Multimedia - Semestre 201322Parcial I de Multimedia - Semestre 201322
Parcial I de Multimedia - Semestre 201322Viviana Trujillo
 
Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"SiteGround España
 
UXN CDMX 02-32 - Velocidad para todos: AMP y PWA
UXN CDMX 02-32 - Velocidad para todos: AMP y PWAUXN CDMX 02-32 - Velocidad para todos: AMP y PWA
UXN CDMX 02-32 - Velocidad para todos: AMP y PWAUX Nights
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con DrupalPablo Cerda
 
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)SiteGround España
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressLibreCon
 
Front-end: Diseñar webs rápidas, flexibles y potentes
Front-end: Diseñar webs rápidas, flexibles y potentesFront-end: Diseñar webs rápidas, flexibles y potentes
Front-end: Diseñar webs rápidas, flexibles y potentesRomán Hernández
 

Similar a Optimización web: infraestructura, cache, frontend y lo que viene (20)

Thinking of CPU and Memory (1.0)
Thinking of CPU and Memory (1.0)Thinking of CPU and Memory (1.0)
Thinking of CPU and Memory (1.0)
 
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptx
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacion
 
Los 10 mandamientos del WPO
Los 10 mandamientos del WPOLos 10 mandamientos del WPO
Los 10 mandamientos del WPO
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)
 
Parcial I de Multimedia - Semestre 201322
Parcial I de Multimedia - Semestre 201322Parcial I de Multimedia - Semestre 201322
Parcial I de Multimedia - Semestre 201322
 
Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"
 
Escalando WordPress
Escalando WordPressEscalando WordPress
Escalando WordPress
 
Html5
Html5Html5
Html5
 
UXN CDMX 02-32 - Velocidad para todos: AMP y PWA
UXN CDMX 02-32 - Velocidad para todos: AMP y PWAUXN CDMX 02-32 - Velocidad para todos: AMP y PWA
UXN CDMX 02-32 - Velocidad para todos: AMP y PWA
 
Fernando puente WPO para todos
Fernando puente   WPO para todosFernando puente   WPO para todos
Fernando puente WPO para todos
 
Proyectos escalables con Drupal
Proyectos escalables con DrupalProyectos escalables con Drupal
Proyectos escalables con Drupal
 
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPress
 
Front-end: Diseñar webs rápidas, flexibles y potentes
Front-end: Diseñar webs rápidas, flexibles y potentesFront-end: Diseñar webs rápidas, flexibles y potentes
Front-end: Diseñar webs rápidas, flexibles y potentes
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (13)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Optimización web: infraestructura, cache, frontend y lo que viene

  • 1.
  • 2. Hola! Me llamo Martín Soy antiguo alumno de unileon y responsable técnico de idealista/news Me podéis encontrar en @mgzrobles
  • 4. “Hay dos cosas que realmente importan, el contenido y el tiempo que tardamos en servirlo Martín González Robles
  • 6. Casi el 90% del tiempo los usuarios están conectados en sus móviles a partir de aplicaciones.
  • 7. 29% of smartphone users will immediately switch to another site or app if it doesn’t satisfy their needs (for example, they can’t find information or it’s too slow) 40% of shoppers will wait no more than three seconds before abandoning a retail or travel site 1s = $1.6 B Amazon would lose $1.6 billion in sales every year if its site took one more second to load
  • 8. “La velocidad no es solo una característica, es LA característica Urs Hözle, ingeniero de Google
  • 9. SIEMPRE hay que pensar en el rendimiento
  • 11. Psychological time in our brain usually differs from objective time on the clock Denys Mishunov
  • 12. ¿Qué vamos a ver? ● Infraestructura ● Cache ● Frontend ● Lo que viene (y ya está aquí)
  • 15. Time To First Byte (TTFB) El TTFB es el tiempo que tarda un navegador en recibir la primera pieza de información desde un servidor web después de realizar la petición al mismo.
  • 17. Cache
  • 19. Niveles de cache ● Browser ● Reverse proxy ● Memoria ● Disco ● Base de datos / Index
  • 20. Cómo cachear ● Evita hacer el trabajo cada vez ● Evita hacer el trabajo en el path crítico ● Cache permanente ● Cache temporal ● Aplaza la ejecución para después del contenido principal
  • 21. CACHE HIT 1 2 4 3 1 2 REQUEST REQUEST Miss vs Hit CACHE MISS
  • 22. max-age Cuánto tiempo puede pasar hasta que se considere un recurso como obsoleto.
  • 23. “ Phil Karlton There are only two hard things in Computer Science: cache invalidation and naming things.
  • 24. Estrategia de Cache Page Cache Page Cache Dynamic Page Cache Usando placeholdersy cargando el contenido dinámico vía AJAX o ESI (Edge side include)
  • 25.
  • 26. Obteniendo los datos ● Monitoriza siempre ● La base de datos es lenta ● Usa buenos índices, revisa tus “where” y tus índices ● Si es necesario cambia tus consultas a solr o elastic
  • 28. Reverse proxy Capa extra de seguridad Balanceo de carga Content caching 301 ...
  • 30. La importancia está en las imágenes Suponen el 64% del payload de la página
  • 31. ● El tamaño sí importa
  • 32. ● El tamaño sí importa ● Lazyload y data URI <img src="data:image/gif;base64,R0lGODlhEAAQAMQA ..." data-src="https://www.mysite.xyz/dog.png" width="725" height="350" alt="My dog">
  • 33. ● El tamaño sí importa ● Lazyload y data URI ● Responsive <img srcset="large.jpg 1440w, medium.jpg 960w, small.jpg 480w" sizes="(min-width: 36em) 33.3vw, 100vw" src="medium.jpg" alt="…"> Usa srcset para diferentes tamaños por breakpoints. Usa <picture> si tus imágenes varían más especialmente (art direction, croppings, styles, etc).
  • 34. ● El tamaño sí importa ● Lazyload y data URI ● Responsive ● Usa CDN <img src="https://www.mysite.xyz/dog.png" alt="My dog"> <img src="https://cdn.mysite.xyz/dog.png" alt="My dog">
  • 35. CSS/JS ● Minificación y unificación ● Evita cargar código innecesario según el dispositivo ● Pon inline el CSS que “pinte” la parte crítica de la página ● CSS Sprites ● El resto al final del DOM
  • 36. Precarga de recursos Dns-prefetch (dns) Preconnect (dns+tcp) Prefetch (low priority, next navigation) Prerender (low priority, next navigation, all page) Preload (high priority, current navigation) <head> <link rel="prefetch" href="https://example.com/media/image.jpg"> ... <body> <img src="https://example.com/media/image.jpg" alt="...">
  • 37. Lo que viene (y ya está aquí)
  • 38. Nuevas cabeceras ● Downlink Indica la velocidad máxima de descarga. ● Save-Data Este booleano indica si se deben tomar medidas adicionales para reducir la carga útil. <meta http-equiv="Accept-CH" content="DPR,Width,Viewport-Width,Downlink,Save-Data">
  • 39. AMP Accelerated Mobile Pages ( AMP ) es un proyecto open source que pretende ayudar a los editores a crear contenido optimizado para móviles y que pueda ser cargado instantáneamente en todas partes.
  • 40. Progressive Web Apps Experiencia en móviles lo más parecida a la de una aplicación nativa ● Carga instantánea ● Interfaz como una app ● Añadir la página a la HomeScreen del móvil ● Full screen ● Offline first con Service Workers ● Push notifications
  • 41.
  • 42. Recursos ● https://es.slideshare.net/ckrina/improving-responsive-web-design-process-2016 ● http://idealista.github.io/dcamp2016-amp/#/ ● https://vimeo.com/166918786 ● https://es.slideshare.net/EstebanTundidor/charla-web-performance-optimization-20212185 ● https://info.varnish-software.com/blog/enhancing-mobile-web-performance ● https://info.varnish-software.com/blog/personalizing-mobile-web-experience ● https://info.varnish-software.com/blog/page-size-matters ● https://www.smashingmagazine.com/2016/01/leaner-responsive-images-client-hints/ ● http://httpwg.org/http-extensions/client-hints.html ● http://deanhume.com/home/blogpost/service-workers--save-your-users-data-using-the-save-data-header/10139 ● https://www.smashingmagazine.com/2015/09/why-performance-matters-the-perception-of-time/ ● https://yuiblog.com/blog/2007/04/11/performance-research-part-4/ ● http://www.ditrendia.es/wp-content/uploads/2015/07/Ditrendia-Informe-Mobile-en-Espa%C3%B1a-y-en-el-Mundo-2015.pdf ● https://chromatichq.com/blog/responsive-images-drupal-8-using-srcset ● https://gomakethings.com/inlining-critical-css-for-better-web-performance/ ● https://ericportis.com/posts/2014/srcset-sizes/ ● https://developers.google.com/web/progressive-web-apps/ ● https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/ ● https://csswizardry.com/2013/01/front-end-performance-for-web-designers-and-front-end-developers/#section:http-requests-and-dns-lookups ● https://www.keycdn.com/blog/resource-hints/
  • 43. Esta tarde Drupal & Tapas Hora: 19:30 Lugar: Four Lions (Calle Sierra Pambley, 6) https://goo.gl/maps/nvrrqk3CwMS2 https://groups.drupal.org/node/516823

Notas del editor

  1. The sizes attribute defines the element’s width to be 50% the size of the viewport when the viewport is 650px or more. For example, if the viewport is 800px, the element’s width is set to 400px. The browser then selects the srcset resource relative to 400px, assuming the device pixel ratio is 1, which in this instance is narrow.jpg (320px).
  2. Un service worker, es un proxy (que tú controlas) entre el navegador y el servidor Acceso offline a la página (yei, sin internet) Sitios web que cargan rapidísimo (incluso más rápido que las apps nativas)