
Building large scale web apps
Addy Osmani, Hassan Djirdeh
- Editorial
- Addy Osmani and Hassan Djirdeh
- Año
- 2024
- Páginas
- ~306
- Nivel
- Intermedio
De qué trata
Guía autopublicada (con el subtítulo «A React Field Guide») en la que Addy Osmani, líder de ingeniería en Google Chrome, y Hassan Djirdeh, con experiencia en Shopify, Instacart y DoorDash, reúnen lo que han aprendido manteniendo aplicaciones React de gran tamaño. La pregunta de fondo es cómo conseguir que una base de código React siga siendo manejable, rápida y fácil de mantener a medida que crecen el producto y el equipo. No es un libro de iniciación: está pensado para desarrolladores JavaScript que ya trabajan con React (hooks, componentes, props) y quieren dar el salto a proyectos grandes y a equipos numerosos.
El libro empieza con los fundamentos de la complejidad del software y, a partir de ahí, recorre las decisiones de arquitectura que más pesan en una aplicación grande. Sobre gestión de estado, compara useState, useReducer, Context, Redux y React Query, y explica cuándo conviene cada uno. Analiza estrategias de obtención de datos desde APIs, sistemas de diseño y librerías de componentes, metodologías de CSS, accesibilidad, internacionalización, personalización y pruebas A/B. También dedica espacio a la modularidad, a simplificar migraciones, al tipado con TypeScript y a las pruebas (unitarias, de integración y de extremo a extremo con Jest, React Testing Library y Cypress, además del análisis estático). Cierra con rendimiento: perfilado con Chrome DevTools y Lighthouse, Core Web Vitals (LCP, INP), reducción del coste de JavaScript, lazy loading, skeleton screens y optimización de imágenes, fuentes y scripts de terceros.
No hay un proyecto guiado: el libro funciona como un manual de criterios, con ejemplos de código y comparativas de compromisos (trade-offs). Su principal aporte es la visión de quienes han trabajado a gran escala y saben qué herramienta conviene en cada caso, algo que rara vez se encuentra en los tutoriales. Lo que no trata a fondo son el renderizado en servidor ni frameworks como Next.js, y tampoco la parte de backend. Encaja muy bien con desarrolladores de nivel intermedio o líderes técnicos que deben tomar decisiones de arquitectura en el frontend.
- React
- Gestión de estado
- React Query
- Redux
- Context y useReducer
- Data fetching
- Sistemas de diseño
- Accesibilidad
- Internacionalización
- TypeScript
- Testing
- Core Web Vitals
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

