
Developing Large Web Applications
Kyle Loudon
- Editorial
- O'Reilly
- Año
- 2010
- Páginas
- ~304
- Nivel
- Intermedio
De qué trata
Kyle Loudon, que dirigía un equipo de desarrollo en Yahoo!, propone en este libro una forma de organizar el código de aplicaciones web grandes para que pueda crecer sin volverse imposible de mantener. Es de 2010 y trabaja con el stack típico de la época: HTML/XHTML, CSS, JavaScript, PHP y Ajax, con un enfoque cercano a LAMP. Está dirigido a desarrolladores de nivel intermedio que ya hacen sitios web y quieren pasar a proyectos más grandes o con varios equipos. Se espera que conozcas lo básico de HTML, CSS, JavaScript y PHP.
El hilo conductor es la modularidad. El primer capítulo plantea los principios del desarrollo a gran escala (el autor los llama sus diez «tenets») y el segundo aplica la orientación a objetos al diseño de páginas: encapsulación, visibilidad, bajo acoplamiento, diagramas UML y clases PHP de ejemplo. Después repasa cada capa. En HTML, marcado semántico, CSS en lugar de tablas, evitar etiquetas obsoletas y metadatos RDF. Luego dedica un capítulo a la organización de CSS y otro a JavaScript modular. Siguen los «data managers», que abstraen el acceso a fuentes de datos SQL y al intercambio con el back-end, y un capítulo de PHP a gran escala para construir páginas a partir de módulos reutilizables. Termina con Ajax, rendimiento y la arquitectura del proyecto, centrada sobre todo en la estructura de directorios y archivos.
No se construye una aplicación completa: los capítulos se apoyan en fragmentos de código bastante largos, sobre todo en PHP, que generan módulos y páginas. Aporta una visión ordenada de cómo separar responsabilidades en el front-end y entre las capas de un sitio. Las reseñas destacan el capítulo de rendimiento como el más útil, aunque remiten a los libros de Steve Souders para profundizar. Conviene saber lo que deja fuera: no habla de escalabilidad de servidores, granjas de servidores, la nube ni arquitectura distribuida. Además, propone escribir los módulos desde cero en vez de usar frameworks, y hoy los frameworks de componentes (React, Vue, Angular) resuelven buena parte de estos problemas. Sigue siendo una lectura útil por los principios, pero ten en cuenta que el código es de 2010.
- Arquitectura front-end
- Modularidad
- Orientación a objetos
- HTML semántico
- CSS escalable
- JavaScript modular
- PHP
- Abstracción de datos
- SQL
- Ajax
- Rendimiento web
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

