COMO DISEÑAR SITIOS WEB MÁS RÁPIDOS | www.zaralibro.com

COMO DISEÑAR SITIOS WEB MÁS RÁPIDOS


COMO DISEÑAR SITIOS WEB MÁS RÁPIDOS  
ref. 6230
Steve Souders
Marzo de 2010
288 Págs.
Precio de Venta (IVA y Gastos de envío incluidos) EN PROMOCIÓN  27,05 €


9788441527423 portada: COMO DISEÑAR SITIOS WEB MÁS RÁPIDOS  [Steve Souders]

Una de las características que ha consolidado el sector de las nuevas tecnologías es el acceso rápido a la información. La velocidad es un factor fundamental para el éxito de cualquier sitio y por eso las aplicaciones Web hoy en día exprimen las capacidades de los navegadores hasta el límite, con cantidades cada vez mayores de contenidos complejos y un uso amplio de Ajax. La mayor parte del tiempo que una página Web tarda en descargarse transcurre del lado del cliente. Para que las páginas Web se desplieguen rápidamente y sin dificultades técnicas, es necesario que quienes desarrollen los contenidos dominen ciertas técnicas. Este libro enseña cómo crear sitios Web fantásticos en lo que a rendimiento se refiere. Podrá reducir en varios segundos el tiempo de carga de sus sitios siguiendo una serie de prácticas y los consejos de los más reconocidos expertos.

SUMARIO

Introducción

  • ¿Cómo se organiza este libro?
    • Rendimiento JavaScript
    • Rendimiento de red
    • Rendimiento del servidor
  • Convenciones
    • Código fuente
    • Sobre la imagen de cubierta

Capítulo 1. Qué es el rendimiento Ajax

  • Compromisos
  • Principios de optimización
  • Ajax
  • El navegador
  • ¡Vaya!
  • JavaScript
  • Resumen

Capítulo 2. Cómo crear aplicaciones Web que funcionen

  • ¿Cómo de rápido?
  • Cómo medir la latencia
    • Problemas de latencia
  • Ejecución en hilos
  • Cómo garantizar una respuesta adecuada
    • Web Workers
    • Gears
    • Relojes (timers)
    • Efectos del uso de la memoria sobre el tiempo de respuesta
    • Memoria virtual
    • Solución de problemas de memoria
    • Resumen

Capítulo 3. Dividir la carga de trabajo inicial

  • El fregadero
  • El ahorro de la división
  • Cómo encontrar la división
  • Símbolos indefinidos y condiciones de carrera
  • Ejemplo: Google Calendar
  • Resumen

Capítulo 4. Cargar scripts sin bloqueos

  • Bloqueo de scripts
  • Cómo conseguir que los scripts se comporten bien
    • XHR Eval
    • XHR Injection
    • Script en iframe
    • Script DOM Element
    • Script Defer
    • Etiqueta de scripts document.write
  • Indicadores de navegador ocupado
  • Cómo conseguir (o evitar) la ejecución ordenada
  • Resumen de resultados
  • Y el ganador es...

Capítulo 5. Acoplamiento de scripts asincrónicos

  • Ejemplo de código menu.js
  • Condiciones de carrera
  • Cómo preservar el orden asincrónicamente
    • Técnica 1: Escritura de retrollamada en el código fuente
    • Técnica 2: Window Onload
    • Técnica 3: Controlador Timer
    • Técnica 4: Script Onload
    • Técnica 5: Etiquetas de scripts degradados
  • Múltiples scripts externos
    • XHR Gestionado
    • DOM Element y Doc Write
  • Solución general
    • Script único
    • Múltiples scripts
  • La asincronía en el mundo real
    • Google Analytics y Dojo
    • Utilidad de carga YUI Loader

Capítulo 6. Posicionamiento de scripts internos

  • Bloqueo de scripts internos
    • Desplazar los scripts internos al final de la página
    • Inicialización de la ejecución asíncrona
    • Utilizar Script Defer
  • Preservar el orden de CSS y JavaScript
  • ¡Peligro! Hoja de estilo seguida de script interno
    • La mayoría de las descargas no bloquean los scripts internos
    • Las hojas de estilo bloquean los scripts internos
    • Cosas que pasan

Capítulo 7. Cómo escribir código JavaScript eficaz

  • Gestión del alcance
    • Utilice variables locales
    • Aumento de la cadena de alcance
  • Acceso eficiente a los datos
  • Control de flujo
    • Condicionales rápidos
      • La instrucción if
      • La instrucción switch
      • Otra opción: búsqueda de arrays
      • Los condicionales más rápidos
    • Bucles rápidos
      • Mejoras de rendimiento para bucles sencillos
      • Evite el bucle for-in
      • Desenrollar bucles
  • Optimización de cadenas
    • Concatenación de cadenas
    • Recortar cadenas
  • Evite los scripts de ejecución prolongada
      • Pausas utilizando controladores de tiempo
      • Patrones de reloj para las pausas
  • Resumen

Capítulo 8. Escalar con Comet

  • ¿Cómo funciona Comet?
  • Técnicas de transporte
    • Llamada selectiva (polling)
    • Long polling
    • Forever Frame
    • Streaming XHR
    • Transportes futuros
  • Interdominios
  • Efectos de la implementación sobre las aplicaciones
    • Gestionar las conexiones
    • Medir el rendimiento
    • Protocolos
  • Resumen

Capítulo 9. Más allá de la compresión Gzip

  • ¿A quién le importa?
  • Causas
  • Un repaso rápido
    • El culpable
    • Algunos ejemplos de la "escucha de la tortuga"
  • ¿Cómo podemos ayudar a estos usuarios?
    • Minimizar el tamaño sin comprimir a la hora de diseñar
      • Delegación de eventos
      • Utilizar URL relativos
      • Eliminar el espacio en blanco
      • Eliminar las comillas de los atributos
      • Evite los estilos internos
      • Aliases de JavaScript
      • Ahorros reales
    • Educar a los usuarios
    • Dirigir la detección del soporte para Gzip
      • Cómo realizar la prueba
      • Utilizar el resultado
      • Medir la efectividad

Capítulo 10. Optimización de imágenes

  • Dos pasos para simplificar la optimización de imágenes
  • Formatos de imagen
    • Fondo
      • ¿Gráficos o fotografías?
      • Píxeles y RGB
      • Truecolor o formatos de imagen de paleta
      • Transparencia y canal alfa (RGBA)
      • Entrelazado
    • Características de los diferentes formatos
      • GIF
      • JPEG
      • PNG
    • Más información sobre el formato PNG
      • PNG8, PNG24 y PNG32
      • Comparación del formato PNG con otros formatos
      • Comparación con el formato GIF
      • Comparación con el formato JPEG
      • Problemas de transparencia del formato PNG
      • PNG8 y el software de edición de imágenes
  • Optimización de imágenes automatizada sin pérdidas
    • Eliminar fragmentos PNG
      • Pngcrush
      • Otras herramientas de optimización de imágenes PNG
    • Eliminación de los metadatos JPEG
    • Convertir GIF a PNG
    • Optimización de animaciones GIF
    • Smush.it
    • JPEG progresivo para imágenes de gran tamaño
  • Transparencia alfa: evite el uso de AlphaImageLoader
    • Efectos de la transparencia alfa
      • Esquinas
    • AlphaImageLoader
    • Problemas con AlphaImageLoader
      • Tierras salvajes: un ejemplo de Yahoo! Search
    • Transparencia alfa PNG8 progresivamente mejorada
  • Optimización de sprites
    • Über-sprite o sprite modular
      • Sprites CSS altamente optimizados
  • Otras técnicas de optimización de las imágenes
    • Evite el escalado de imágenes
    • Imágenes generadas mediante compresión
    • Favicons
    • Iconos de favoritos de Apple Touch
  • Resumen

Capítulo 11. Fragmentación de dominios predominantes

  • Ruta crítica
  • ¿Quién utiliza la fragmentación?
  • Utilizar HTTP/1.0
  • Implementación de la fragmentación entre dominios
    • Dirección IP o nombre de huésped
    • ¿Cuántos dominios?
    • Cómo dividir los recursos
    • Navegadores recientes

Capítulo 12. Vaciado temprano del documento

  • Vaciado del encabezado
  • Buffering de la salida
  • Codificación fragmentada
  • Vaciado y compresión Gzip
  • Otros intermediarios
  • Bloqueo de dominios durante el vaciado
  • Los navegadores: el último obstáculo
  • El vaciado más allá de PHP
  • Listado de verificación para el vaciado

h3.Capítulo 13. Uso ocasional de los iframes

  • ¿Cuál es el elemento más oneroso del DOM?
  • Los iframes bloquean el evento onload
  • Descargas paralelas con iframes
    • Script antes del iframe
    • Hoja de estilo antes del iframe
    • Hoja de estilo después de un iframe
  • Conexiones por nombre de servidor
    • Compartir la conexión en iframes
    • Compartir la conexión entre pestañas y ventanas
  • Resumen: El coste de los iframes

Capítulo 14. Simplificación de los selectores CSS

  • Tipos de selectores
    • Selectores de ID
    • Selectores de clase
    • Selectores de tipo
    • Selectores hermanos adyacentes
    • Selectores de hijos
    • Selectores descendientes
    • Selectores universales
    • Selectores de atributos
    • Pseudo-clases y pseudo-elementos
  • Selectores CSS eficientes
    • Primero, la derecha
    • Cómo escribir selectores CSS eficientes
  • Rendimiento de los selectores CSS
    • Los selectores complejos afectan al rendimiento... a veces
    • ¿Qué selectores CSS debemos evitar?
    • Tiempo de reflujo
  • Cómo medir los selectores CSS en el mundo real

Apéndice A. Herramientas de rendimiento

  • Rastreadores de paquetes
    • HttpWatch
    • Panel de red de Firebug
    • AOL Pagetest
    • VRTA
    • IBM Page Detailer
    • Panel de recursos de Web Inspector
    • Fiddler
    • Charles
    • Wireshark
  • Herramientas de desarrollo Web
    • Firebug
    • Web Inspector
    • Developer Toolbar de Internet Explorer
  • Analizadores del rendimiento
    • YSlow
    • AOL Pagetest
    • VRTA
    • neXpert
  • Varios
    • Hammerhead
    • Smush.it
    • Cuzillion
    • UA Profiler

Índice alfabético

Una unidad de:
COMO DISEÑAR SITIOS WEB MÁS RÁPIDOS
(ref. 6230)
IMPORTE TOTAL
(impuestos incluidos)
27,05