Plotly

How do Dash, Shiny, and Streamlit compare as low-code,
UI layers for AI and ML models?

DashShinyStreamlit
Languages SupportedPython, R, and JuliaR onlyPython only
OSS LicenseMITAGPLApache 2.0
Backend ArchitectureStatelessStatefulStateful
Downloads/month240,000490,00071,000
Web protocolHTTP(S)WebsocketsWebsockets
Recommended deploymentKubernetes (Dash Enterprise)Shiny Server Pro (RStudio Connect)Heroku
User experienceWeb appModel output with controls in a Web pageNotebook with controls
Primary use caseOperationalizing Python, R, & Julia models at scaleSingle-page analytic apps for research & academiaSharing Python analyses in notebooks
App structureMulti-pageSingle pageNotebook with code
FrontendReactjQueryReact
InteractivityComplete: any component can be an input/output, including tablesPartial: some components can be inputs/outputsLimited: only widgets as inputs, graphs and tables can only be outputs
Styling controlDash Design Kit, Basic Bootstrap, or CSSBasic Bootstrap or CSSLimited
CrossfilteringYesYesNo
Dynamic LayoutsYes (Pattern-Matching Callbacks)NoNo
Long Running TasksYesNoNo
Year founded201720122019
Funding (USD)$20M$8M$6M
GitHub contributors424146
GitHub Stars11.4k3.8k7.6k