SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Mejores
prácticas
para
acelerar
sitios web
Juan Eladio Sánchez Rosas
Mozilla Perú
Hablemos de
desarrollo web
¿Cómo abrimos una página web?
Cuando una página demora ...


                • Culpamos al:
                 • Navegador de Internet
                 • Proveedor de Internet
                 • Programador
¿Donde nos vamos a enfocar?
Mejores prácticas,
¡Ahora!
Contenido
• Realizar menos peticiones HTTP
 • Combinar archivos CSS y JavaScript
 • CSS Sprites y Mapas de imágenes
¿CSS Sprites?
 • Problema: Imágenes a la manera “no tan antigua”
#nav li a {background:none no-repeat left center}
#nav li a.item1 {background-image:url('../img/image1.gif')}
#nav li a:hover.item1 {background-
image:url('../img/image1_over.gif')}
#nav li a.item2 {background-image:url('../img/image2.gif')}
#nav li a:hover.item2 {background-
image:url('../img/image2_over.gif')}
CSS Sprites: 1 imagen para todo
 • Solución con CSS Sprites
#nav   li   a {background-image:url('../img/image_nav.gif')}
#nav   li   a.item1 {background-position:0px 0px}
#nav   li   a:hover.item1 {background-position:0px -72px}
#nav   li   a.item2 {background-position:0px -143px;}
#nav   li   a:hover.item2 {background-position:0px -215px;}
CSS Sprites en el mundo real
Contenido
• Reducir búsquedas de DNS
• Evitar redirecciones
• Evitar errores 404
Servidor
• Usar una Content Delivery Network
• Añadir cabeceras Expires o Cache-Control
• Usar componentes con compresión Gzip
• Configurar ETags
• Usar GET para peticiones AJAX
• Especificar Content-Type y Charset
¿Qué fue
todo eso?
Content Delivery Network
• Red de distribución de contenido
Expires / Cache-Control Headers
 • Objetivo: Almacenar componentes en memoria caché
   evitando hacer más peticiones
<IfModule mod_expires.c>
ExpiresActive on
# Images gif jpeg png
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/gif "access plus 1 month"
# Stylesheets, JavaScript, Others (Flash/FLV/PDF)
# text/css, application/x-javascript,
# application/x-shockwave-flash, video/x-flv
...
</IfModule>
GZip
• Comprime alrededor de 70% de respuesta
• Soportado por el 90% de tráfico de navegadores
• Apache: mod_gzip / mod_deflate
• Usar en archivos de texto, no binarios
Entity Tags (ETags)
 • Mecanismo usado para determinar si un componente en
   caché de navegador coincide con servidor de origen
<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|
css|swf)(.gz)?$">
Header unset Etag
FileETag None
</FilesMatch>
Content-Type y Charset
• Si no son especificados el navegador tratará de
  averiguarlos

• En servidor:
  • Content-Type:     text/html; charset=UTF-8

• En cliente:
 • <head>http-equiv="Content-Type"
    <meta
     content="text/html;charset=utf-8">
Elementos estáticos
CSS: Hojas de estilo
• Colocar hojas de estilo al principio
  • <head><link rel="stylesheet"
    href="style.css" /></head>
                                         type="text/css"


• Evitar CSS Expressions
  • background-color: expression( (new
    Date()).getHours()%2 ? "#B8D4FF" :         "#F08A00"
     );

• Evitar Filtros
  • AlphaImageLoader
... y JavaScript
• Colocar JavaScript al final
  • <script    src="script.js"></script>

• JavaScript y CSS en archivos externos
• Remover caracteres innecesarios en JavaScript (Minify)
 • y también en CSS y HTML
• Remover scripts duplicados
 • O no utilizados
Imágenes (A)
• Optimizar imágenes
 • GIF: Probar convertir a PNG
 • JPEG: Usar en fotografías
 • Herramientas: pngcrush / jpegtran
• Combinar imágenes en una sola
 • Mostrarlas usando CSS Sprites
Imágenes (B)
• No escalar imágenes en HTML
 • NO significa dejar de usar width y height
• Hacer que favicon.ico sea pequeño y cacheable
Otros
• Repartir componentes entre dominios
• Minimizar uso de iframes
• Mantener componentes bajo 25 KB
• Evitar <img src=””> (sin dirección)
Y todo esto,
¿que tienen que ver
con Firefox?
Firebug
• Inspeccionar código
• Modificar estilo y estructura
• Depurar código JavaScript
• Analizar uso de red y desempeño
• Extender con más complementos
Firebug
Firebug + Yahoo! YSlow
• Analiza sitios web
• Y sugiere formas de mejorarlos
• Reglas basadas en
 • Best Practices for Speeding Up Your Web Site
    developer.yahoo.com/performance/rules.html
Firebug + Yahoo! YSlow
Firebug + Google PageSpeed
• No disponible en Firefox Addons
 • code.google.com/speed/page-speed/
• Reglas basadas en
 • Web Performance Best Practices
    code.google.com/speed/page-
    speed/docs/rules_intro.html
Firebug + Google PageSpeed
“Bueno, leerlo es una cosa,
entenderlo es otra”
Una nota al pie
Rendimiento en Firefox
Constantemente trabajamos en Firefox para que se comporte
mejor en tu experiencia en la web.




Nuestro objetivo es llevarte donde necesitas ir lo más rápido y
fácil posible.
Mejores prácticas para
acelerar sitios web
           Mozilla Perú
           mozilla.pe
           www.facebook.com/mozillaperu
           groups.google.com/group/mozilla-peru

           Juan Eladio Sánchez Rosas
           jesanchez(a)mozilla.pe
           blogs.antartec.com/opensource
           slideshare.net/juaneladio

Más contenido relacionado

La actualidad más candente

WordPress, WordPress Multisite y WordPress Multinetwork
WordPress, WordPress Multisite y WordPress MultinetworkWordPress, WordPress Multisite y WordPress Multinetwork
WordPress, WordPress Multisite y WordPress MultinetworkJosé Conti Calveras
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysqlPeter Concha
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...JuanKa Díaz - jdevelopia
 
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...JuanKa Díaz - jdevelopia
 
Functional Tests with Geb
Functional Tests with GebFunctional Tests with Geb
Functional Tests with GebJorge Jiménez
 
Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Carlos M. Cámara
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...JuanKa Díaz - jdevelopia
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
 
10 preguntas top WordPress
10 preguntas top WordPress10 preguntas top WordPress
10 preguntas top WordPressFernando Tellado
 
Desarollo rápido con Bootstrap
Desarollo rápido con BootstrapDesarollo rápido con Bootstrap
Desarollo rápido con Bootstrapbetabeers
 
Modifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP OurenseModifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP OurenseJuan Hernando García
 
Seo On Page en WordPress - Ponencia para Meetup WordPress Murcia
Seo On Page en WordPress - Ponencia para Meetup WordPress MurciaSeo On Page en WordPress - Ponencia para Meetup WordPress Murcia
Seo On Page en WordPress - Ponencia para Meetup WordPress MurciaRamgon [LION 1K]
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSLeonidas Esteban González
 
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
 
VI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasVI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasJuan Hernando García
 

La actualidad más candente (20)

WordPress, WordPress Multisite y WordPress Multinetwork
WordPress, WordPress Multisite y WordPress MultinetworkWordPress, WordPress Multisite y WordPress Multinetwork
WordPress, WordPress Multisite y WordPress Multinetwork
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Optimización We...
 
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...
Optimiza tu word press para que vuele! primeros pasos en wpo (web performance...
 
Wordcamp Perú 2009 - Themes
Wordcamp Perú 2009 - ThemesWordcamp Perú 2009 - Themes
Wordcamp Perú 2009 - Themes
 
Functional Tests with Geb
Functional Tests with GebFunctional Tests with Geb
Functional Tests with Geb
 
Las Herramientas de un Frontend
Las Herramientas de un FrontendLas Herramientas de un Frontend
Las Herramientas de un Frontend
 
Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!
 
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
¡Optimiza tu WordPress para que vuele! Primeros pasos en WPO (Web Performance...
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
10 preguntas top WordPress
10 preguntas top WordPress10 preguntas top WordPress
10 preguntas top WordPress
 
Desarollo rápido con Bootstrap
Desarollo rápido con BootstrapDesarollo rápido con Bootstrap
Desarollo rápido con Bootstrap
 
Modifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP OurenseModifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP Ourense
 
Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
 
Introducción a Responsive Design
Introducción a Responsive DesignIntroducción a Responsive Design
Introducción a Responsive Design
 
Seo On Page en WordPress - Ponencia para Meetup WordPress Murcia
Seo On Page en WordPress - Ponencia para Meetup WordPress MurciaSeo On Page en WordPress - Ponencia para Meetup WordPress Murcia
Seo On Page en WordPress - Ponencia para Meetup WordPress Murcia
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
 
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
 
VI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temasVI Meetup WordPress Pontevedra - Creación y modificación de temas
VI Meetup WordPress Pontevedra - Creación y modificación de temas
 
Backbeam
BackbeamBackbeam
Backbeam
 

Similar a Mejores prácticas para acelerar sitios web

El tamaño importa - JoomlaDay Sevilla 2015
El tamaño importa - JoomlaDay Sevilla 2015El tamaño importa - JoomlaDay Sevilla 2015
El tamaño importa - JoomlaDay Sevilla 2015Alejandro Domínguez
 
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFOptimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFDarío BF
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasPeter Concha
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasAvanet
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Martin Siniawski
 
Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011Santiago Aimetta
 
Ejemplos reales TPW
Ejemplos reales TPWEjemplos reales TPW
Ejemplos reales TPWYesenia_1226
 
WPO para proyectos WooComerce
WPO para proyectos WooComerceWPO para proyectos WooComerce
WPO para proyectos WooComerceFernando Puente
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Dani Reguera Bakhache
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Rob Montero
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Rodrigo Polo
 
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
 
Html5 - El futuro de la web
Html5 - El futuro de la webHtml5 - El futuro de la web
Html5 - El futuro de la webJoan Fernández
 
Taller WordPress Avanzado
Taller WordPress AvanzadoTaller WordPress Avanzado
Taller WordPress AvanzadoRaúl Carrión
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018nacho mascort
 
Introducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRIntroducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRvalgreens
 
Martesclass GTmetrix
Martesclass GTmetrixMartesclass GTmetrix
Martesclass GTmetrixAukera
 

Similar a Mejores prácticas para acelerar sitios web (20)

El tamaño importa - JoomlaDay Sevilla 2015
El tamaño importa - JoomlaDay Sevilla 2015El tamaño importa - JoomlaDay Sevilla 2015
El tamaño importa - JoomlaDay Sevilla 2015
 
Html5
Html5Html5
Html5
 
Acelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPOAcelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPO
 
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFOptimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
 
Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011
 
Ejemplos reales TPW
Ejemplos reales TPWEjemplos reales TPW
Ejemplos reales TPW
 
WPO para proyectos WooComerce
WPO para proyectos WooComerceWPO para proyectos WooComerce
WPO para proyectos WooComerce
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
 
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
 
Html5 - El futuro de la web
Html5 - El futuro de la webHtml5 - El futuro de la web
Html5 - El futuro de la web
 
Taller WordPress Avanzado
Taller WordPress AvanzadoTaller WordPress Avanzado
Taller WordPress Avanzado
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
 
Introducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRIntroducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGR
 
Martesclass GTmetrix
Martesclass GTmetrixMartesclass GTmetrix
Martesclass GTmetrix
 

Más de Juan Eladio Sánchez Rosas

Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Juan Eladio Sánchez Rosas
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Juan Eladio Sánchez Rosas
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Juan Eladio Sánchez Rosas
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Juan Eladio Sánchez Rosas
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvilJuan Eladio Sánchez Rosas
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesJuan Eladio Sánchez Rosas
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webJuan Eladio Sánchez Rosas
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaJuan Eladio Sánchez Rosas
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoJuan Eladio Sánchez Rosas
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Juan Eladio Sánchez Rosas
 
Seguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webSeguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webJuan Eladio Sánchez Rosas
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYJuan Eladio Sánchez Rosas
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webJuan Eladio Sánchez Rosas
 

Más de Juan Eladio Sánchez Rosas (20)

Seguridad informatica para docentes
Seguridad informatica para docentesSeguridad informatica para docentes
Seguridad informatica para docentes
 
Introducción a la computación en la nube
Introducción a la computación en la nubeIntroducción a la computación en la nube
Introducción a la computación en la nube
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2
 
Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1Curso: Diseño de apps y webs móviles - Parte 1
Curso: Diseño de apps y webs móviles - Parte 1
 
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
Cómo crear comunidades tecnológicas disruptivas - Coneisc Arequipa 2015
 
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015Encuesta Anual: Perfil del Desarrollador Web Perú 2015
Encuesta Anual: Perfil del Desarrollador Web Perú 2015
 
iPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móviliPhone v Android: Lecciones de la revolución móvil
iPhone v Android: Lecciones de la revolución móvil
 
App-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móvilesApp-ocalipsis: El fin de las aplicaciones móviles
App-ocalipsis: El fin de las aplicaciones móviles
 
Taller Diseno de apps móviles
Taller Diseno de apps móvilesTaller Diseno de apps móviles
Taller Diseno de apps móviles
 
Muchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad MozillaMuchas voces, una Comunidad Mozilla
Muchas voces, una Comunidad Mozilla
 
Tecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la webTecnologias Mozilla en la batalla por el futuro de la web
Tecnologias Mozilla en la batalla por el futuro de la web
 
La web abierta y Mozilla
La web abierta y MozillaLa web abierta y Mozilla
La web abierta y Mozilla
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
 
Herramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abiertaHerramientas de desarrollo en Firefox para la web abierta
Herramientas de desarrollo en Firefox para la web abierta
 
Prueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempoPrueba dos versiones de Firefox al mismo tiempo
Prueba dos versiones de Firefox al mismo tiempo
 
Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012Estudio: Situación de los desarrolladores web en el Perú 2012
Estudio: Situación de los desarrolladores web en el Perú 2012
 
Firefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de MozillaFirefox Next y otras iniciativas de Mozilla
Firefox Next y otras iniciativas de Mozilla
 
Seguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones webSeguridad en el desarrollo de aplicaciones web
Seguridad en el desarrollo de aplicaciones web
 
HTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOYHTML5 y los desafíos del desarrollo web de HOY
HTML5 y los desafíos del desarrollo web de HOY
 
Buenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo webBuenas prácticas de usabilidad para el desarrollo web
Buenas prácticas de usabilidad para el desarrollo web
 

Último

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Mejores prácticas para acelerar sitios web

  • 3. ¿Cómo abrimos una página web?
  • 4. Cuando una página demora ... • Culpamos al: • Navegador de Internet • Proveedor de Internet • Programador
  • 5. ¿Donde nos vamos a enfocar?
  • 7. Contenido • Realizar menos peticiones HTTP • Combinar archivos CSS y JavaScript • CSS Sprites y Mapas de imágenes
  • 8. ¿CSS Sprites? • Problema: Imágenes a la manera “no tan antigua” #nav li a {background:none no-repeat left center} #nav li a.item1 {background-image:url('../img/image1.gif')} #nav li a:hover.item1 {background- image:url('../img/image1_over.gif')} #nav li a.item2 {background-image:url('../img/image2.gif')} #nav li a:hover.item2 {background- image:url('../img/image2_over.gif')}
  • 9. CSS Sprites: 1 imagen para todo • Solución con CSS Sprites #nav li a {background-image:url('../img/image_nav.gif')} #nav li a.item1 {background-position:0px 0px} #nav li a:hover.item1 {background-position:0px -72px} #nav li a.item2 {background-position:0px -143px;} #nav li a:hover.item2 {background-position:0px -215px;}
  • 10. CSS Sprites en el mundo real
  • 11. Contenido • Reducir búsquedas de DNS • Evitar redirecciones • Evitar errores 404
  • 12. Servidor • Usar una Content Delivery Network • Añadir cabeceras Expires o Cache-Control • Usar componentes con compresión Gzip • Configurar ETags • Usar GET para peticiones AJAX • Especificar Content-Type y Charset
  • 14. Content Delivery Network • Red de distribución de contenido
  • 15. Expires / Cache-Control Headers • Objetivo: Almacenar componentes en memoria caché evitando hacer más peticiones <IfModule mod_expires.c> ExpiresActive on # Images gif jpeg png ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/gif "access plus 1 month" # Stylesheets, JavaScript, Others (Flash/FLV/PDF) # text/css, application/x-javascript, # application/x-shockwave-flash, video/x-flv ... </IfModule>
  • 16. GZip • Comprime alrededor de 70% de respuesta • Soportado por el 90% de tráfico de navegadores • Apache: mod_gzip / mod_deflate • Usar en archivos de texto, no binarios
  • 17. Entity Tags (ETags) • Mecanismo usado para determinar si un componente en caché de navegador coincide con servidor de origen <FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js| css|swf)(.gz)?$"> Header unset Etag FileETag None </FilesMatch>
  • 18. Content-Type y Charset • Si no son especificados el navegador tratará de averiguarlos • En servidor: • Content-Type: text/html; charset=UTF-8 • En cliente: • <head>http-equiv="Content-Type" <meta content="text/html;charset=utf-8">
  • 20. CSS: Hojas de estilo • Colocar hojas de estilo al principio • <head><link rel="stylesheet" href="style.css" /></head> type="text/css" • Evitar CSS Expressions • background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" ); • Evitar Filtros • AlphaImageLoader
  • 21. ... y JavaScript • Colocar JavaScript al final • <script src="script.js"></script> • JavaScript y CSS en archivos externos • Remover caracteres innecesarios en JavaScript (Minify) • y también en CSS y HTML • Remover scripts duplicados • O no utilizados
  • 22. Imágenes (A) • Optimizar imágenes • GIF: Probar convertir a PNG • JPEG: Usar en fotografías • Herramientas: pngcrush / jpegtran • Combinar imágenes en una sola • Mostrarlas usando CSS Sprites
  • 23. Imágenes (B) • No escalar imágenes en HTML • NO significa dejar de usar width y height • Hacer que favicon.ico sea pequeño y cacheable
  • 24. Otros • Repartir componentes entre dominios • Minimizar uso de iframes • Mantener componentes bajo 25 KB • Evitar <img src=””> (sin dirección)
  • 25. Y todo esto, ¿que tienen que ver con Firefox?
  • 26. Firebug • Inspeccionar código • Modificar estilo y estructura • Depurar código JavaScript • Analizar uso de red y desempeño • Extender con más complementos
  • 28. Firebug + Yahoo! YSlow • Analiza sitios web • Y sugiere formas de mejorarlos • Reglas basadas en • Best Practices for Speeding Up Your Web Site developer.yahoo.com/performance/rules.html
  • 30. Firebug + Google PageSpeed • No disponible en Firefox Addons • code.google.com/speed/page-speed/ • Reglas basadas en • Web Performance Best Practices code.google.com/speed/page- speed/docs/rules_intro.html
  • 31. Firebug + Google PageSpeed
  • 32. “Bueno, leerlo es una cosa, entenderlo es otra”
  • 33. Una nota al pie Rendimiento en Firefox Constantemente trabajamos en Firefox para que se comporte mejor en tu experiencia en la web. Nuestro objetivo es llevarte donde necesitas ir lo más rápido y fácil posible.
  • 34. Mejores prácticas para acelerar sitios web Mozilla Perú mozilla.pe www.facebook.com/mozillaperu groups.google.com/group/mozilla-peru Juan Eladio Sánchez Rosas jesanchez(a)mozilla.pe blogs.antartec.com/opensource slideshare.net/juaneladio

Notas del editor

  1. Pequeña huella de memoria Pequeño y bueno, Firefox usa menos de la memoria de tu equipo mientras funciona. Administración de memoria Con nuevas funciones, Firefox mantiene el uso de la memoria bajo control. El recolector de ciclos XPCOM limpia continuamente la memoria que ya no se usa. Además, cientos de pérdidas de memoria fueron solucionadas. Carga de páginas más rápida Un motor mejorado de mostrado de páginas significa que puedes ver las páginas web más rápido y en la forma en que se supone deben verse. Super veloz Ajústate el cinturón, Firefox incluye el mototr de Javascript Tracemonkey que le da al navegador mucho mejor rendimiento que antes. Firefox siempre fue rápido, pero este es el Firefox más rápido hasta ahora (más de tres veces más rápido que Firefox 3 y 20% más rápido que Firefox 3.5), lo que permite que las aplicaciones de correo, de fotos o procesadores de texto en línea respondan más rápido y de forma continua.