55 votes

Quels sont les avantages et les inconvénients de Dash by Plotly par rapport aux tableaux de bord Jupyter ?

Dash par Plotly semble être un excellent moyen pour un développeur Python de créer des applications web interactives sans avoir à apprendre le Javascript et le développement web frontal. Un autre grand projet avec des objectifs et une portée similaires est Tableaux de bord Jupyter .

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

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

9 votes

Ce commentaire compare plotly.py avec matplotlib. La question posée par l'OP concerne Tiret con Tableaux de bord Jupyter : Dash permet de créer des applications web interactives, plotly.py permet de créer des graphiques. Ce sont des bibliothèques distinctes avec des objectifs distincts ! Dash utilise plotly.js pour son composant Graphique mais matplotlib peut aussi être utilisé à travers la librairie dash_html_components.Img de la composante.

90voto

Chris P Points 1629

Disclaimer : j'ai écrit Dash :)

Je recommanderais d'essayer les deux. Il faut environ 30 minutes à Dash pour parcourir les tutoriel .

Je vous recommande également de vérifier :

Dash présente certaines caractéristiques de haut niveau (elles sont décrites dans la section lettre d'annonce plus en détail)

  • Les applications Dash ne nécessitent que très peu de code pour démarrer - une simple application Dash "hello world" qui affiche dynamiquement un graphique basé sur la valeur d'une liste déroulante pèse moins de 50 lignes de code.
  • Les Dash Apps sont entièrement générées à partir de Python, même le HTML et le JS.
  • Les Dash Apps lient des composants interactifs (menus déroulants, graphiques, curseurs, entrées de texte) avec votre propre code Python par l'intermédiaire de Dash " réactifs ". callbacks ".
  • Les Dash Apps sont "réactives", ce qui signifie qu'il est facile de raisonner sur des interfaces utilisateur compliquées avec de multiples entrées, de multiples sorties, et des entrées qui dépendent d'autres entrées.
  • Les Dash Apps sont par nature des applications multi-utilisateurs car l'"état" de l'application se trouve entièrement dans le client : plusieurs utilisateurs peuvent visualiser les applications et avoir des sessions indépendantes.
  • Comme Dash dispose d'un backend traditionnel sans état, il est facile de faire évoluer les applications pour servir des centaines ou des milliers d'utilisateurs en augmentant le nombre de processus de travail. Les demandes sont envoyées à n'importe quel travailleur disponible, ce qui permet à un petit nombre de travailleurs de servir un plus grand nombre de sessions.
  • Dash utilise React.js pour rendre les composants et comprend un système de plugin pour créer vos propres composants Dash avec React.
  • Dash's Graph est interactif, ce qui permet aux auteurs d'applications Dash d'écrire des applications qui réagissent au survol, au clic ou à la sélection de points sur le graphique.

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

Il semble qu'il s'agisse de la plotly.py bibliothèque graphique. Il s'agit d'une bibliothèque distincte de Dash. Les deux bibliothèques utilisent la licence MIT plotly.js pour créer des graphiques. plotly.js n'envoie aucune donnée au serveur plotly - elle est entièrement réalisée côté client.

En plotly.py comprend des méthodes pour envoyer les données à votre compte plotly en ligne pour l'hébergement, le partage et l'édition des graphiques, mais il s'agit d'une option totalement facultative. Encore une fois, plotly.py est une bibliothèque distincte de Dash . plotly.py permet de créer des graphiques interactifs, Dash permet de créer des applications interactives (qui peuvent inclure des graphiques).

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

  • Dash est sous licence MIT. Vous pouvez exécuter Dash sur vos propres serveurs ou sur votre machine.
  • Dash utilise un serveur Flask, vous pouvez donc déployer des applications Dash de la même manière que des applications Flask.
  • Licences Plotly Dash Enterprise une plateforme qui peut être installée sur votre propre infrastructure. Dash Enterprise est un "PaaS" qui facilite le déploiement d'applications sur vos propres serveurs, l'authentification SSO/LDAP, des capacités de conception supplémentaires, des capacités d'application supplémentaires, et bien plus encore.

3 votes

Très bien, Chris... Quels sont les inconvénients de votre produit ? Les voyez-vous ?

3 votes

Les applications Dash ne requièrent que très peu de code pour démarrer - une simple application Dash de type "hello world" comporte moins de 50 lignes de code. Donc, pour moi, 49 lignes de texte pour une ligne de code, c'est beaucoup de texte.

4 votes

Mise à jour - Il ne s'agit pas seulement d'imprimer "Hello World", mais de créer et d'exécuter une application web qui rend un graphique basé dynamiquement sur une liste déroulante.

-7voto

Shawn S Points 54

D'une part les tableaux de bord jupyter sont gratuits, d'autre part les tableaux de bord ploty utilisent la bibliothèque ploty, alors que les tableaux de bord jupyter peuvent utiliser tous les modules/bibliothèques que vous souhaitez. Je viens de terminer un tableau de bord jupyter aujourd'hui pour agréger les informations de tous nos systèmes de CI. C'était incroyablement facile et honnêtement assez amusant. Une fois que vous avez compris une ou deux sources de données, il est facile d'en ajouter une nouvelle ou d'ajouter un nouveau widget, ainsi que d'ajouter des widgets de contrôle.

9 votes

Les deux projets sont entièrement gratuits et OS. En fait, tout le code est sur github et vous pouvez contribuer - ils acceptent les pull-requests. Je ne suis pas affilié à plotly, mais j'ai beaucoup de respect pour ce qu'ils font pour la communauté. D'après votre réponse, on peut supposer que plotly dash n'est pas gratuit, ce qui est faux. Ils offrent des services de conseil, mais beaucoup de gens seraient heureux de prendre votre argent pour des conseils sur Jupyter.

2 votes

C'est bon à savoir. J'ai vu quelque chose à propos de la tarification des tableaux de bord plotty, peut-être s'agissait-il d'hébergement ou d'autre chose, je ne sais pas. Je vais y jeter un coup d'œil car l'utilisation de notebooks pour les tableaux de bord est un peu comme une cheville carrée dans un trou rond. Je vous remercie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X