web-dev-qa-db-fra.com

Quels sont les avantages et les inconvénients de Dash by Plotly vs Jupyter Dashboards?

Dash by Plotly semble être un excellent moyen pour un développeur Python) de créer des applications Web interactives sans avoir à apprendre le langage Javascript et le développement Web frontal. Un autre grand projet ayant des objectifs similaires et la portée est Jupyter Dashboards .

Quels sont les avantages et les inconvénients de chacun?

En particulier dans un déploiement multi-utilisateur? J'ai également trouvé la documentation Plotly pas très claire sur ce qu'est exactement l'Open Source et si les données sont téléchargées sur eux ou si le traçage peut être effectué hors ligne? Il existe clairement deux modes pour la bibliothèque Plotly sous-jacente, mais en quel mode Dash fonctionne-t-il?

29
snth

Disclaimer: J'ai écrit Dash :)

Je recommanderais d'essayer les deux. Dash prend environ 30 minutes à parcourir tutoriel .

Je vous recommande également de vérifier:

Il existe certaines fonctionnalités de haut niveau de Dash (elles sont couvertes dans le lettre d’annonce plus en détail)

  • Pour commencer, les applications Dash nécessitent très peu de passe-partout: une application Dash simple "bonjour tout le monde" compte moins de 50 lignes de code.
  • Les applications Dash sont entièrement générées à partir de Python, même les formats HTML et JS.
  • Les applications Dash lient les composants interactifs (menus déroulants, graphiques, curseurs, entrées de texte) avec votre propre code Python via un tiret réactif "callbacks".
  • Les applications Dash sont "réactives", ce qui signifie qu'il est facile de raisonner sur des interfaces utilisateur complexes avec plusieurs entrées, plusieurs sorties et des entrées qui dépendent d'autres entrées.
  • Les applications Dash sont intrinsèquement des applications multi-utilisateurs car "l'état" de l'application est entièrement dans le client: plusieurs utilisateurs peuvent afficher les applications et avoir des sessions indépendantes.
  • Étant donné que Dash dispose d’un backend traditionnel sans état, il est facile d’adapter les applications à des centaines, voire des milliers d’utilisateurs en augmentant le nombre de processus de travail. Les demandes sont envoyées au travailleur disponible, ce qui permet à un petit nombre de travailleurs de gérer un plus grand nombre de sessions.
  • Dash utilise React.js pour rendre les composants et inclut un système de plugin pour créer vos propres composants Dash avec React.
  • Le composant Graph de Dash est interactif et permet aux auteurs d'applications Dash d'écrire des applications répondant au survol, au clic ou à la sélection de points sur le graphique.

J'ai également trouvé la documentation de Plotly pas très claire sur ce qu'est exactement l'Open Source et si les données y sont téléchargées ou si le traçage peut être effectué hors ligne?

On dirait que cela fait référence à plotly.py bibliothèque graphique. C'est une bibliothèque séparée de Dash. Les deux bibliothèques utilisent le MIT sous licence plotly.js bibliothèque pour créer des graphiques. plotly.js n'envoie pas de données au serveur Plotly - c'est complètement client.

Le plotly.py La bibliothèque inclut des méthodes pour envoyer les données à votre compte de complot en ligne pour l'hébergement, le partage et la modification des graphiques, mais cette option est totalement opt-in. Encore, plotly.py est une bibliothèque distincte de Dash. plotly.py est utilisé pour les graphiques interactifs, Dash est utilisé pour créer des applications interactives (pouvant inclure des graphiques).

En particulier dans un déploiement multi-utilisateur? Il existe clairement deux modes pour la bibliothèque Plotly sous-jacente, mais en quel mode Dash fonctionne-t-il?

  • Dash est sous licence MIT. Vous pouvez exécuter Dash sur vos propres serveurs ou sur votre ordinateur.
  • Dash utilise un serveur Flask, vous pouvez donc déployer des applications Dash de la même manière que vous déploieriez Flask apps
  • Plotly licences Dash Deployment Server , un produit serveur pouvant être installé sur votre propre infrastructure. Dash Deployment Server est un "PaaS" qui facilite le déploiement d'applications sur vos propres serveurs, l'authentification SSO/LDAP, les plans de support, etc.
52
Chris P