</> CodeBooks
    ← Volver a JavaScript (página 8)
    Portada de You Don't Know JS. Async & Performance

    You Don't Know JS. Async & Performance

    Kyle Simpson

    Editorial
    O'Reilly
    Año
    2015
    Páginas
    ~172
    Nivel
    Intermedio

    De qué trata

    Quinto libro de la primera edición de You Don't Know JS, publicado por O'Reilly en 2015, en el que Kyle Simpson se dedica a la asincronía en JavaScript y al rendimiento de los programas. Trabaja con ES5 y las novedades de ES6 (Promises y generadores) recién estandarizadas. Es para desarrolladores intermedios o avanzados que ya dominan funciones, closures y el uso habitual de callbacks, y quieren comprender a fondo cómo se coordina el código que ocurre «ahora y después».

    Empieza explicando el event loop, la concurrencia y la diferencia entre paralelismo y asincronía, y analiza los problemas de los callbacks: el «callback hell» y, sobre todo, la inversión de control y la falta de confianza en el código de terceros. Luego desarrolla las Promises (resolución, encadenamiento, manejo de errores, Promise.all y Promise.race, patrones y limitaciones) y los generadores, mostrando cómo combinarlos para escribir código asíncrono de apariencia síncrona, precursor directo de async/await. La parte de rendimiento trata Web Workers, SIMD, asm.js, benchmarking correcto con Benchmark.js y jsPerf, microoptimizaciones y optimización de llamadas de cola (TCO). Los apéndices presentan asynquence, la librería del propio autor, y patrones asíncronos avanzados como observables, CSP y corrutinas.

    No construye aplicaciones; aprende con fragmentos de código bien comentados y abundantes razonamientos. Su valor está en el modelo mental: después de leerlo se entiende por qué existen las Promises y cómo funciona por dentro async/await. Conviene saber que es anterior a la adopción masiva de async/await (ES2017), que solo se menciona como algo futuro, y que partes como SIMD.js o asm.js quedaron obsoletas frente a WebAssembly. Para practicar asincronía moderna conviene complementarlo con material actual.

    • Event loop
    • Concurrencia
    • Callbacks
    • Inversión de control
    • Promises
    • Generadores
    • Web Workers
    • Benchmarking
    • Benchmark.js
    • Optimización de llamadas de cola
    • asynquence

    ¿Cómo enseña?

    TeóricoPráctico

    Teórico

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de JavaScript con nivel Intermedio