Cada vez que trabajo en un proyecto con las visualizaciones, los gerentes de proyecto generalmente reaccionan con horror cuando digo que no voy a usar D3. ¿Por qué hay preocupación? ¿Por qué elegiría no usar D3?
al responder a estas preguntas, tenemos que entender el contexto en el que se creó D3., D3 fue lanzado por primera vez en 2011, y fue bastante innovador en ese momento.
normalmente lo que se vería, son bibliotecas que proporcionan gráficos fuera de la caja y con una lista masiva de opciones. Esto puede funcionar, pero el problema es que cada vez que alguien tiene un nuevo requisito, una opción tendría que ser añadida y soportada. Eventualmente terminas con lo que es efectivamente un lenguaje donde usas varios objetos para definir un gráfico. D3 tomó un enfoque diferente, en lugar de darle los componentes completos, le da funciones de ayuda basadas en datos para crear esos componentes usted mismo.,
en este momento, las bibliotecas como jQuery y Backbone eran populares. Crear sus propios gráficos utilizando estas bibliotecas habría sido un desafío, especialmente si desea que sean dinámicos. Los navegadores apenas estaban adoptando nuevos estándares CSS modernos como transitions, y las propiedades más modernas como flex box todavía estaban a edades de ser implementadas.
D3 resolvió muchos de estos problemas, y sin duda fue el enfoque más fácil para implementar visualizaciones en ese momento. Sin embargo, mucho ha cambiado desde entonces., Tenemos nuevos marcos modernos que utilizan conceptos más flexibles y expresivos como el DOM virtual, y CSS tiene muchas nuevas capacidades para el diseño y las animaciones.
en lugar de saltar automáticamente a D3, permítanme enumerar algunas razones por las que debe reconsiderar su uso.
he trabajado con D3 numerosas veces en los últimos años, e implementado todo tipo de visualizaciones con él. Entiendo los conceptos generales sobre D3, y todavía me cuesta trabajar con él. Todo el mundo con el que he trabajado, desde desarrolladores junior hasta sénior, también tienen problemas con ello., Lo que muchas personas, incluyéndome a mí, es que encontramos un ejemplo en línea que aproximadamente coincide con lo que estamos buscando, y modificamos el ejemplo para satisfacer nuestras necesidades.
si queremos agregar alguna funcionalidad personalizada, probablemente haremos más búsquedas y encontraremos algo que parezca correcto, intentaremos entender cómo funciona y seguiremos modificándolo hasta que haga lo que queremos que haga.
¿te suena familiar? Por otro lado, los desarrolladores en estos días están muy familiarizados con las bibliotecas Dom virtuales y están familiarizados con las plantillas., ¿No tiene más sentido aprovechar esas habilidades, en lugar de introducir una biblioteca que requiere una forma de pensar completamente diferente?
es más fácil de lo que crees
Cuando piensas por primera vez en crear tus propios gráficos desde cero, es común sentirse preocupado y aterrorizado. Puede sonar como un componente muy complicado de crear, pero realmente no lo es cuando lo descompones. Tomemos un ejemplo de un gráfico de líneas. Así es como haría un gráfico de líneas en D3:
fuente: bl.ocks.,org
así es como haría algo como esto usando Preact:
y el CSS:
Source: JSFiddle