<p>免责声明:我写了破折号:)</p>
<p>我建议两种都试一下。破折号大约需要30分钟才能穿过<a href="https://plot.ly/dash/getting-started" rel="noreferrer">tutorial</a>。</p>
<p>我也建议你去看看:</p>
<ul>
<li>这是<a href="https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503" rel="noreferrer">Dash announcement letter</a>。这是对Dash的全面介绍,包括示例、体系结构和关于许可(MIT)的讨论。</li>
<li>Dash应用程序在<a href="https://plot.ly/dash/gallery" rel="noreferrer">Dash App Gallery</a>中的实例</li>
</ul>
<p>Dash有一些高级特性(这些特性在<a href="https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503" rel="noreferrer">announcement letter</a>中有更详细的介绍)</p>
<ul>
<li>Dash应用程序只需要很少的样板文件就可以启动——一个简单的“HelloWorld”Dash应用程序的代码不到50行。</li>
<li>Dash应用完全由Python生成,甚至HTML和JS</li>
<li>Dash应用程序通过反应式Dash“<code>callbacks</code>”将交互式组件(下拉列表、图表、滑块、文本输入)与您自己的Python代码绑定。</li>
<li>Dash应用程序是“反应式”的,这意味着很容易推理出复杂的ui有多个输入、多个输出和依赖于其他输入的输入。</li>
<li>Dash应用程序本质上是多用户应用程序,因为应用程序的“状态”完全在客户端:多个用户可以查看应用程序并拥有独立的会话。</li>
<li>由于Dash有一个传统的无状态后端,通过增加工作进程的数量,可以很容易地扩展应用程序以服务成百上千的用户。请求被发送到任何可用的工作进程,使少量的工作进程能够为更多的会话提供服务。</li>
<li>Dash使用<a href="https://facebook.github.io/react/" rel="noreferrer">React.js</a>来呈现组件,并包含一个<a href="http://plot.ly/dash/plugins" rel="noreferrer">plugin system</a>来使用React创建自己的Dash组件。</li>
<li>Dash的<code>Graph</code>组件是交互式的,允许Dash应用程序的作者编写响应于在图形上悬停、单击或选择点的应用程序。</li>
</ul>
<blockquote>
<p>I also found the Plotly documentation quite unclear on what exactly is Open Source and whether the data gets uploaded to them or if the plotting can be done offline?</p>
</blockquote>
<p>听起来这是指<a href="https://github.com/plotly/plotly.py" rel="noreferrer">^{<cd3>}</a>图形库。这是一个独立的库,而不是Dash。两个库都使用MIT许可的<a href="https://github.com/plotly/plotly.js" rel="noreferrer">^{<cd4>}</a>库来创建图表。<code>plotly.js</code>不会向plotly服务器发送任何数据-它完全是客户端的。</p>
<p><code>plotly.py</code>库包含将数据发送到联机plotly帐户以托管、共享和编辑图表的方法,但它完全是可选的。同样,<code>plotly.py</code>是一个独立的库,而不是<code>Dash</code>。<code>plotly.py</code>用于交互式绘图,<code>Dash</code>用于创建交互式应用程序(可以包括图表)。</p>
<blockquote>
<p>In particular in a multi-user deployment? There are clearly two modes for the underlying Plotly library but what mode does Dash operate in?</p>
</blockquote>
<ul>
<li>达什是麻省理工学院授权的。您可以在自己的服务器或计算机上运行Dash。</li>
<li>Dash使用Flask服务器,因此您可以像部署Flask应用程序一样部署Dash应用程序</li>
<li>Plotly许可证<a href="https://plot.ly/dash/pricing" rel="noreferrer">Dash Deployment Server</a>,一种可以安装在您自己的基础设施上的服务器产品。Dash部署服务器是一个“PaaS”,它使在您自己的服务器上部署应用程序、SSO/LDAP身份验证、支持计划等变得容易。</li>
</ul>