
Learning JavaScript Design Patterns, 2nd Edition
Addy Osmani
- Editorial
- O'Reilly
- Año
- 2023
- Páginas
- ~296
- Nivel
- Intermedio
De qué trata
Segunda edición, muy ampliada, del conocido libro de Addy Osmani sobre patrones de diseño, actualizada a JavaScript moderno (ES2015+) y al ecosistema de React. La primera edición tenía más de diez años; esta reorienta el contenido hacia librerías actuales como React, Vue y Angular. Va dirigida a desarrolladores de nivel intermedio o avanzado que ya escriben JavaScript con soltura y quieren organizar mejor su código y su arquitectura.
Los primeros capítulos explican qué es un patrón, cómo se documenta y valida (proto-patrones, la «regla de tres») y qué son los antipatrones. Después repasan la sintaxis moderna que el libro usa: clases, módulos ES e import dinámico. El núcleo cataloga más de 20 patrones creacionales, estructurales y de comportamiento aplicados a JavaScript: constructor, módulo, singleton, prototype, factory, mixin, decorator, facade, flyweight, observer y mediator, entre otros. Siguen los patrones MV* (MVC, MVP, MVVM), los patrones asíncronos con promesas y async/await, los sistemas de módulos y el namespacing. La parte final se centra en React: componentes de orden superior, render props y Hooks; patrones de renderizado como CSR, SSR, generación estática, hidratación progresiva, streaming y la arquitectura de islas; optimizaciones de carga como code-splitting e import dinámico; y la estructura de aplicaciones React y Next.js.
No hay un proyecto conductor ni ejercicios: cada patrón se explica con fragmentos de código, ventajas e inconvenientes. Su gran aporte es unir los patrones clásicos con las decisiones reales de rendimiento y renderizado del frontend actual. Conviene saber que la parte de React pesa bastante y que ciertos temas (como los Server Components) evolucionan rápido. Quien busque solo los patrones del GoF en JavaScript encontrará mucho material extra; quien trabaje con React le sacará más partido.
- Patrones de diseño
- ES2015+
- Patrones creacionales
- Patrones estructurales
- Patrones de comportamiento
- Antipatrones
- MVC / MVP / MVVM
- Módulos ES
- Programación asíncrona
- React Hooks
- Patrones de renderizado
- Next.js
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

