python - ¿Cuáles son los pros y los contras de Dash by Plotly vs Jupyter Dashboards?
dash python (2)
Bien, para un jupyter, los cuadros de mandos son cuadros de mandos parciales y gratuitos, supongo que utilizaría la biblioteca de trazados, donde los cuadros de mandos de jupyter pueden usar cualquier módulo o biblioteca que desee. Acabo de terminar de crear un panel de control de jupyter hoy para agregar información de todos nuestros sistemas de CI. Fue increíblemente fácil y honestamente divertido. Una vez que obtenga una o dos fuentes de datos, agregar un nuevo widget o agregar un nuevo widget es fácil junto con agregar controles de control.
Dash by Plotly parece ser una excelente manera para que un desarrollador de Python cree aplicaciones web interactivas sin tener que aprender Javascript y el desarrollo web de Front End. Otro gran proyecto con objetivos y alcance similares es Jupyter Dashboards .
¿Cuáles son los pros y los contras de cada uno?
En particular, en una implementación multiusuario? También encontré la documentación de Plotly bastante poco clara sobre qué es exactamente Open Source y si los datos se suben a ellos o si el trazado se puede hacer fuera de línea. Claramente hay dos modos para la biblioteca Plotly subyacente, pero ¿en qué modo opera Dash?
Descargo de responsabilidad: escribí Dash :)
Recomiendo probar ambos. Dash tarda unos 30 minutos en ejecutarse a través del tutorial .
También recomendaría revisar:
- La carta de anuncio de Dash . Esta es una introducción completa a Dash que incluye ejemplos, arquitectura y una discusión sobre las licencias (MIT).
- Ejemplos en vivo de aplicaciones Dash en la Galería de aplicaciones Dash
Hay algunas características de alto nivel de Dash (estas se tratan en la carta de anuncio con más detalle)
- Las aplicaciones de Dash requieren muy poca preparación para comenzar: una sencilla aplicación de "hola mundo" tiene menos de 50 líneas de código.
- Las aplicaciones de Dash se generan completamente desde Python, incluso el HTML y JS
- Dash Apps vincula los componentes interactivos (menús desplegables, gráficos, controles deslizantes, entradas de texto) con su propio código Python mediante "
callbacks
reactivas". - Las aplicaciones de Dash son "reactivas", lo que significa que es fácil razonar acerca de IU complicadas con múltiples entradas, múltiples salidas y entradas que dependen de otras entradas.
- Las aplicaciones de Dash son inherentemente aplicaciones multiusuario, ya que el "estado" de la aplicación está totalmente en el cliente: varios usuarios pueden ver aplicaciones y tener sesiones independientes.
- Dash utiliza React.js para representar componentes e incluye un sistema de complementos para crear sus propios componentes de Dash con React.
- El componente
Graph
de Dash es interactivo, lo que permite a los autores de la aplicación Dash escribir aplicaciones que responden al desplazamiento, al hacer clic o a la selección de puntos en el gráfico.
También encontré la documentación de Plotly bastante poco clara sobre qué es exactamente Open Source y si los datos se suben a ellos o si el trazado se puede hacer fuera de línea.
Parece que esto se refiere a la biblioteca de gráficos plotly.py
. Esta es una biblioteca separada de Dash. Ambas bibliotecas utilizan la biblioteca plotly.js
licencia del MIT para crear gráficos. plotly.js
no envía ningún dato al servidor plotly, es completamente del lado del cliente.
La biblioteca plotly.py
incluye métodos para enviar los datos a su cuenta de plotly en línea para hospedar, compartir y editar los gráficos, pero es completamente opcional. De nuevo, plotly.py
es una biblioteca separada de Dash
. plotly.py
es para gráficos interactivos, Dash
para crear aplicaciones interactivas (que pueden incluir gráficos).
En particular, en una implementación multiusuario? Claramente hay dos modos para la biblioteca Plotly subyacente, pero ¿en qué modo opera Dash?
- Dash tiene licencia MIT. Puede ejecutar Dash en sus propios servidores o en su máquina.
- Dash usa un servidor de Flask, por lo que puede implementar las aplicaciones de Dash de la misma manera que implementaría las aplicaciones de Flask.
- Plotly otorga licencias a Dash Deployment Server , un producto de servidor que puede instalarse en su propia infraestructura. Dash Deployment Server es un "PaaS" que facilita la implementación de aplicaciones en sus propios servidores, la autenticación SSO / LDAP, los planes de soporte y más.