
JavaScript Application Design
Nicolas Bevacqua
- Editorial
- Manning
- Año
- 2015
- Páginas
- ~344
- Nivel
- Intermedio
De qué trata
Libro de Manning, subtitulado «A Build First Approach», en el que Nicolas Bevacqua (autor del blog Pony Foo) defiende que la calidad de una aplicación JavaScript se decide antes de escribir código: en el proceso de construcción, prueba y despliegue, y en el diseño modular. Publicado en 2015, refleja el ecosistema de ese momento (Node.js, Grunt, ES5 con un vistazo a ES6) y está dirigido a desarrolladores de nivel intermedio que ya dominan los fundamentos del lenguaje y quieren aprender a organizar proyectos grandes.
La primera parte trata el proceso de build: uso de linters como JSHint, composición de tareas y flujos con Grunt (preprocesado de CSS con LESS, concatenación, minificación y sprites), compilaciones diferenciadas para desarrollo y producción, y automatización de la publicación, el despliegue en Heroku y la monitorización. La segunda parte aborda la gestión de la complejidad: clausuras y patrones de módulos, CommonJS, inyección de dependencias con RequireJS, Bower y AngularJS; el código asíncrono con callbacks, Async.js, promesas, generadores y eventos; la arquitectura MVC con Backbone.js; las pruebas automatizadas, y el diseño de APIs REST coherentes. Los apéndices profundizan en Grunt, otras herramientas de build y una guía de calidad de código.
No se construye una aplicación única de principio a fin, sino que cada capítulo se apoya en ejemplos de código concretos. Su valor perdura en las ideas (automatizar todo, separar entornos, modularizar, probar y diseñar APIs con criterio), pero las herramientas han envejecido: Grunt, Bower, RequireJS y Backbone han sido reemplazados por npm scripts, bundlers modernos y módulos ES, y no cubre async/await ni control de versiones. Algunos lectores lo encuentran denso y con temas tratados de forma desigual; conviene leerlo como un libro de enfoque y prácticas más que como tutorial de herramientas actuales.
- Build First
- Grunt
- JSHint
- LESS
- Despliegue en Heroku
- Módulos y CommonJS
- RequireJS y Bower
- Programación asíncrona
- Promesas y generadores
- MVC con Backbone.js
- Testing
- Diseño de APIs REST
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

