Flapjax: Visualización de datos en la Web con Plotly y Flask |  de Alan Jones |  noviembre de 2023

¿Cuál es el mejor marco para crear aplicaciones de visualización de datos? Lo es iluminado ¿O Dash, tal vez? O tal vez podrías convertir un Jupyter Notebook en una aplicación web con Mercurioo Voila?

Todas estas son excelentes formas de crear aplicaciones y es bastante fácil comenzar con ellas. Pero lo que es fácil al principio a menudo puede volverse un poco más complejo a medida que te vuelves un poco más aventurero. Por lo tanto, intentaré convencerlo de que volver a lo básico y usar el código del servidor Python junto con una página HTML para la interfaz de usuario no es tan desalentador como podría parecer.

Podemos crear aplicaciones interactivas atractivas utilizando una buena cantidad de código repetitivo y plantillas, y esto significa que aún puede concentrarse en su código Python y la exposición a HTML y Javascript es mínima. Estoy llamando a este enfoque Flapjax — Te explicaré por qué más tarde.

Una de las formas más sencillas de crear una aplicación web en Python es usar Flask, así que eso es lo que haremos y crearemos una aplicación que se parece a la de la imagen a continuación.

El marco del matraz

Flask es un marco minimalista para desarrollar aplicaciones web. En una aplicación Flask, la página web generalmente se crea a partir de una plantilla y datos proporcionados por el código Python; estos datos pueden ser texto o gráficos que forman el contenido de la página web. El resultado se envía al usuario para que lo muestre en el navegador.

El siguiente diagrama muestra la estructura básica de una aplicación interactiva. Cuando la aplicación se está ejecutando, la parte de Python se ejecuta en el servidor y pasa datos al HTML que se ejecuta en el navegador. La entrada del usuario desde la página web se devuelve al código Python, que luego puede enviar más datos para actualizar el HTML con contenido nuevo (un nuevo gráfico seleccionado por el usuario, por ejemplo).