HTML5 tiene capacidades para acabar haciendo practicamente de todo. Sin embargo hay cosas que todavía necesitan madurar un poco para que podamos apreciar el potencial que tienen. Para que esta maduración llegue se necesita que aparezcan frameworks y librerías especializadas.
Canvas
Uno de los ejemplos más claros de esta necesidad es el uso del control canvas en una página HTML. El api es muy potente pero también es cierto que su manejo es muy a bajo nivel y nos obliga a dibujar lineas, rectángulos prácticamente a mano. Es evidente que necesitamos librerías que nos permitan incrementar el nivel de abstracción y simplificar la forma de desarrollar.
Go.js (un ejemplo)
Algunos productos comienzan a surgir para facilitar al programador la vida al hacer uso de Canvas. Un ejemplo claro de esto es Go.js que es una librería de Javascript que nos permite aumentar el nivel de abstracción y diseñar diagramas de una forma relativamente sencilla delegando en Canvas.
Como podemos ver estamos ante un diagrama que nos muestra una serie de relaciones entre un conjunto de figuras elementales. Go.js permite crear otros muchos tipos de gráficas más complejas apoyándose en los distintos objetos que soporta. A continuación se muestra un ejemplo del clásico MindMap.
Go.js Canvas y flexibilidad
El nivel de flexibilidad es bastante alto ya que una vez creado el diagrama podemos modificarle sobre la marcha y añadir nuevos nodos ya que no estamos manejando imágenes.
Es aquí donde podemos sacar partido al objeto canvas y a Javascript como lenguaje de programación. Otros diagramas soportados por esta herramienta son los diagramas jerárquicos y los de estado
En GenBetaDev:Introducción a Canvas