
Mastering D3.js
Pablo Navarro Castillo
- Editorial
- Packt
- Año
- 2014
- Páginas
- ~352
- Nivel
- Avanzado
De qué trata
Libro avanzado de Pablo Navarro Castillo, matemático y fundador de la agencia chilena de visualización Masega, sobre cómo crear y publicar visualizaciones complejas con D3.js (versión 3.x, la vigente en 2014). No es un libro para empezar: está dirigido a desarrolladores que ya conocen lo básico de D3 y quieren pasar de gráficos sueltos a componentes reutilizables, aplicaciones guiadas por datos y paneles de nivel empresarial.
El hilo conductor es el patrón de gráficos reutilizables (reusable charts), con componentes configurables y algoritmos de layout propios. A partir de ahí trata la visualización sin SVG mediante polyfills para navegadores antiguos y la creación de elementos de interfaz con D3, como un selector de color. También muestra cómo integrar los gráficos en aplicaciones de una sola página con Backbone, separando los datos de su representación, y explica cómo organizar, empaquetar y distribuir una librería de gráficos propia basada en D3. Los últimos capítulos cubren aplicaciones guiadas por datos, el diseño de un dashboard, mapas (coropletas con TopoJSON y la proyección de Mercator, más la integración con librerías de mapas de terceros para geocodificación inversa y mapas interactivos), redes sociales y colaboración, y una aplicación en tiempo real con Node.js y Firebase.
El aprendizaje se apoya en ejemplos reales que crecen hasta convertirse en aplicaciones completas. El código de cada capítulo está publicado en el repositorio del autor. Su gran aporte es la parte de arquitectura: cómo estructurar código D3 mantenible y reutilizable, algo que pocos libros cubren. Su punto débil es la antigüedad: D3 v3 y Backbone están superados, y hoy D3 es modular (v4 en adelante) y suele combinarse con React, Vue o Svelte. Conviene leerlo por sus patrones de diseño más que por su API concreta.
- D3.js v3
- Reusable charts
- Layouts
- Polyfills SVG
- Componentes de UI
- Backbone.js
- Librería de gráficos
- Dashboards
- Mapas y TopoJSON
- Node.js
- Firebase
- Tiempo real
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Selector de color con D3
Componente de interfaz creado íntegramente con D3, siguiendo el patrón de gráficos reutilizables, para elegir colores de forma interactiva.
Paquete de gráficos propio
Librería de gráficos basada en D3 que se organiza, empaqueta y distribuye con un flujo de desarrollo propio, para reutilizarla en otros proyectos.
Dashboard de visualización de datos
Panel con varios gráficos D3 coordinados, orientado a mostrar indicadores de forma compacta, en la línea de los paneles empresariales.
Mapas coropléticos e interactivos
Mapas con D3, TopoJSON y proyección de Mercator que detectan los países vecinos y sus fronteras, integrados con librerías de mapas de terceros para la geocodificación inversa.
Aplicación de visualización en tiempo real
Aplicación final que actualiza las visualizaciones con datos en vivo, usando Node.js y Firebase como fuente de datos en tiempo real.