
Modern JavaScript Applications
Narayan Prusty
- Editorial
- Packt
- Año
- 2016
- Páginas
- ~330
- Nivel
- Intermedio
De qué trata
Libro de Narayan Prusty (Packt, 2016) que recorre las arquitecturas y tecnologías que definían una aplicación JavaScript «moderna» a mediados de la década de 2010: microservicios, comunicación en tiempo real, programación reactiva funcional y SPA con React y Angular 2. Usa ECMAScript 6 y está dirigido a desarrolladores JavaScript con experiencia que quieren un panorama práctico de varias herramientas en un solo volumen.
Cada tema se presenta casi siempre en dos capítulos: uno teórico y otro en el que se construye una aplicación. Empieza con la arquitectura de microservicios en Node.js usando Seneca.js. Sigue con WebRTC y la librería PeerJS para comunicación directa entre navegadores, y con WebSockets mediante Socket.IO. Luego trata la programación reactiva funcional con Bacon.js, las novedades de Bootstrap 4, React a nivel intermedio (componentes, JSX, renderizado en servidor y reconciliación) junto con la arquitectura Flux, y las novedades de Angular 2 (componentes, plantillas, servicios y web components), incluido su router. Se necesitan Node.js y MongoDB, y una cámara y un micrófono para los ejemplos de WebRTC.
Lo mejor del libro es su variedad de aplicaciones prácticas, que permiten probar cada tecnología en un caso concreto. A cambio, ninguno de los temas se trata en profundidad, y muchas herramientas han quedado obsoletas o han cambiado mucho: Seneca y Bacon.js tienen poco uso hoy, Angular 2 era casi una beta y React ya no se escribe igual desde la llegada de los hooks. Conviene verlo como una muestra de ideas arquitectónicas más que como una referencia actual.
- ECMAScript 6
- Microservicios
- Seneca.js
- WebRTC
- PeerJS
- Socket.IO
- Programación reactiva funcional
- Bacon.js
- Bootstrap 4
- React
- Flux
- Angular 2
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Sitio de cupones con microservicios
Aplicación web dividida en microservicios con Node.js y Seneca.js, con MongoDB como almacenamiento, para mostrar cómo se reparten las responsabilidades entre servicios.
Chatroulette
Videochat aleatorio entre navegadores que usa WebRTC y PeerJS para la comunicación directa de audio y vídeo.
Sitio de resultados en vivo
Web de marcadores deportivos en tiempo real que usa WebSockets mediante Socket.IO para enviar las actualizaciones a los clientes.
Widget avanzado de búsqueda de perfiles
Componente de búsqueda construido con programación reactiva funcional usando Bacon.js.
Lector RSS con React y Flux
SPA que combina componentes de React con la arquitectura Flux para leer feeds RSS.
Plantilla de buscador con Angular 2
SPA tipo motor de búsqueda hecha con Angular 2 para practicar componentes, servicios y enrutamiento.

