</> CodeBooks
    ← Volver a JavaScript (página 6)
    Portada de High Performance JavaScript

    High Performance JavaScript

    Nicholas C. Zakas

    Editorial
    O'Reilly
    Año
    2010
    Páginas
    ~232
    Nivel
    Avanzado

    De qué trata

    Libro de Nicholas C. Zakas, por entonces ingeniero de frontend en Yahoo!, sobre cómo hacer que el código JavaScript cargue y se ejecute más rápido en el navegador. Incluye capítulos de otros cinco especialistas: Ross Harmes, Julien Lecomte, Steven Levithan, Stoyan Stefanov y Matt Sweeney. Es de 2010 y refleja la era de ECMAScript 3/5, Internet Explorer 6–8 y las primeras versiones de Chrome. Está dirigido a desarrolladores intermedios y avanzados que ya dominan el lenguaje; no sirve para principiantes.

    Los capítulos tratan la carga y ejecución de scripts sin bloquear la página (scripts no bloqueantes, carga dinámica, agrupar archivos), el acceso a datos (variables locales frente a globales, cadena de ámbitos, miembros de objetos), el scripting del DOM (coste de cada acceso, reflow y repaint, delegación de eventos), el control de flujo (tipos de bucles, condicionales, recursión y memoización), cadenas y expresiones regulares (concatenación eficiente y cómo evitar el backtracking excesivo), la respuesta de la interfaz (el hilo de la UI, dividir tareas con temporizadores y Web Workers), Ajax (formatos de datos como XML, JSON y HTML, y caché) y buenas prácticas de programación generales. Cierra con la compilación y el despliegue (concatenar, minificar, comprimir con gzip, cachear) y con herramientas de perfilado del navegador.

    No tiene proyectos: cada capítulo explica por qué algo es lento, lo mide con comparativas entre navegadores y propone técnicas concretas. Su valor está en entender cómo trabaja el motor y el navegador por dentro, y muchas ideas siguen vigentes, como no bloquear el hilo principal, reducir los reflows y cargar los scripts de forma diferida. Sin embargo, muchas mediciones y microoptimizaciones quedaron obsoletas con los compiladores JIT modernos (V8 y los demás), y las herramientas mencionadas (YUI Compressor, Firebug, entre otras) ya no se usan. Léelo como fundamento conceptual y compleméntalo con material actual sobre Core Web Vitals y las DevTools.

    • Rendimiento web
    • Carga no bloqueante
    • Ámbito y acceso a datos
    • DOM
    • Reflow y repaint
    • Bucles y recursión
    • Expresiones regulares
    • Hilo de la UI
    • Web Workers
    • Ajax
    • Minificación y despliegue
    • Perfilado

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de JavaScript con nivel Avanzado