web-dev-qa-db-ja.com

Dash by Plotly vs Jupyter Dashboardsの長所と短所は何ですか?

Dash by Plotly は、Python開発者がJavascriptやフロントエンドWeb開発を学ぶ必要なくインタラクティブなWebアプリを作成するための素晴らしい方法のように見えます。同様の目的と範囲を持つもう1つの素晴らしいプロジェクトは、 Jupyter Dashboards です。

それぞれの長所と短所は何ですか?

特にマルチユーザー展開で?また、Plotlyのドキュメントでは、オープンソースとは何か、データがアップロードされるかどうか、プロットをオフラインで実行できるかどうかについては非常に不明確でした。基礎となるPlotlyライブラリには明らかに2つのモードがありますが、Dashはどのモードで動作しますか?

29
snth

免責事項:私はダッシュを書いた:)

両方を試してみることをお勧めします。ダッシュが tutorial を実行するのに約30分かかります。

私もチェックアウトすることをお勧めします:

Dashにはいくつかの高度な機能があります(これらは 発表レター で詳しく説明されています)

  • Dash Appsの開始に必要なボイラープレートはごくわずかです-シンプルな「hello world」Dashアプリは50行のコードです。
  • Dashアプリは、HTMLやJSでさえもPythonから完全に生成
  • Dashアプリは、リアクティブダッシュ「callbacks」を介して、独自のPythonコードでインタラクティブコンポーネント(ドロップダウン、グラフ、スライダー、テキスト入力)をバインドします。
  • ダッシュアプ​​リは「リアクティブ」です。つまり、複数の入力、複数の出力、および他の入力に依存する入力を持つ複雑なUIについて簡単に推論できます。
  • ダッシュアプ​​リは、アプリの「状態」が完全にクライアントにあるため、本質的にマルチユーザーアプリです。複数のユーザーがアプリを表示し、独立したセッションを持つことができます。
  • Dashには従来のステートレスバックエンドがあるため、ワーカープロセスの数を増やすことで、数百または数千のユーザーにサービスを提供するようにアプリを簡単に拡張できます。リクエストは利用可能なワーカーに送信されるため、少数のワーカーがより多くのセッションを処理できます。
  • Dashは React.js を使用してコンポーネントをレンダリングし、Reactで独自のDashコンポーネントを作成するための plugin system を含みます。
  • DashのGraphコンポーネントはインタラクティブであるため、Dashアプリの作成者は、グラフ上のポイントをホバー、クリック、または選択することに応答するアプリケーションを作成できます。

また、Plotlyのドキュメントでは、オープンソースとは何か、データがオープンソースにアップロードされるかどうか、またはプロットをオフラインで実行できるかどうかについては非常に不明瞭でした。

これは plotly.py グラフ作成ライブラリを参照しているようです。これは、Dashとは別のライブラリです。両方のライブラリは、チャートの作成にMITライセンス plotly.js ライブラリを使用します。 plotly.jsはplotlyサーバーにデータを送信しません-それは完全にクライアント側です。

plotly.pyライブラリには、グラフをホスト、共有、および編集するためにオンラインのプロットアカウントにデータを送信するメソッドが含まれていますが、完全にオプトインされています。繰り返しますが、plotly.pyDashとは別のライブラリです。 plotly.pyはインタラクティブなグラフ作成用、Dashはインタラクティブなアプリケーション(チャートを含めることができる)の作成用です。

特にマルチユーザー展開で?基礎となるPlotlyライブラリには明らかに2つのモードがありますが、Dashはどのモードで動作しますか?

  • ダッシュはMITライセンスです。独自のサーバーまたはマシンでDashを実行できます。
  • DashはFlaskサーバーを使用するため、Flaskアプリを展開するのと同じ方法でDashアプリを展開できます。
  • Plotlyライセンス Dash Deployment Server 、独自のインフラストラクチャにインストールできるサーバー製品。 Dash Deployment Serverは、独自のサーバー、SSO/LDAP認証、サポートプランなどにアプリを簡単に展開できる「PaaS」です。
52
Chris P