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

Dash

Shiny

Streamlit

  • Languages Supported
  • Python and R
  • Python and R
  • Python
  • OSS License
  • MIT
  • AGPL
  • Apache 2.0
  • Back-end Architecture
  • Stateless
  • Stateful
  • Stateful
  • Downloads/month
  • 1M+
  • 330,000
  • 900,000
  • Web protocol
  • HTTP(S)
  • Websockets
  • Websockets
  • Recommended deployment
  • Dash Enterprise
  • Shiny Server Pro (RStudio Connect)
  • Heroku
  • User experience
  • Web app
  • Model output with controls in a Web page
  • Notebook with controls
  • App structure
  • Multi-page
  • Single page
  • Notebook with code
  • Front end
  • React
  • jQuery
  • React
  • Interactivity
  • Complete: any component can be an input/output, including tables
  • Partial: some components can be inputs/outputs
  • Limited: only widgets as inputs, graphs and tables can only be outputs
  • Styling control
  • Dash Design Kit, Basic Bootstrap, or CSS
  • Basic Bootstrap or CSS
  • Limited or CSS
  • Crossfiltering
  • ✔️
  • ✔️
  • Dynamic Layouts
  • Pattern-Matching Callbacks
  • Long Running Tasks
  • ✔️
  • Year founded
  • 2017
  • 2012
  • 2019
  • GitHub contributors
  • 98
  • 69
  • 142
  • GitHub Stars
  • 17.1k
  • 4.7k
  • 20.2k
  • Dash

    Shiny

    Streamlit

    • Languages Supported
    • Python and R
    • Python and R
    • Python
    • OSS License
    • MIT
    • AGPL
    • Apache 2.0
    • Back-end Architecture
    • Stateless
    • Stateful
    • Stateful
    • Downloads/month
    • 1M+
    • 330,000
    • 900,000
    • Web protocol
    • HTTP(S)
    • Websockets
    • Websockets
    • Recommended deployment
    • Dash Enterprise
    • Shiny Server Pro (RStudio Connect)
    • Heroku
    • User experience
    • Web app
    • Model output with controls in a Web page
    • Notebook with controls
    • App structure
    • Multi-page
    • Single page
    • Notebook with code
    • Front end
    • React
    • jQuery
    • React
    • Interactivity
    • Complete: any component can be an input/output, including tables
    • Partial: some components can be inputs/outputs
    • Limited: only widgets as inputs, graphs and tables can only be outputs
    • Styling control
    • Dash Design Kit, Basic Bootstrap, or CSS
    • Basic Bootstrap or CSS
    • Limited or CSS
    • Crossfiltering
    • ✔️
    • ✔️
    • Dynamic Layouts
    • Pattern-Matching Callbacks
    • Long Running Tasks
    • ✔️
    • Year founded
    • 2017
    • 2012
    • 2019
    • GitHub contributors
    • 98
    • 69
    • 142
    • GitHub Stars
    • 17.1k
    • 4.7k
    • 20.2k
  • Dash

    Shiny

    Streamlit

    • Languages Supported
    • Python and R
    • Python and R
    • Python
    • OSS License
    • MIT
    • AGPL
    • Apache 2.0
    • Back-end Architecture
    • Stateless
    • Stateful
    • Stateful
    • Downloads/month
    • 1M+
    • 330,000
    • 900,000
    • Web protocol
    • HTTP(S)
    • Websockets
    • Websockets
    • Recommended deployment
    • Dash Enterprise
    • Shiny Server Pro (RStudio Connect)
    • Heroku
    • User experience
    • Web app
    • Model output with controls in a Web page
    • Notebook with controls
    • App structure
    • Multi-page
    • Single page
    • Notebook with code
    • Front end
    • React
    • jQuery
    • React
    • Interactivity
    • Complete: any component can be an input/output, including tables
    • Partial: some components can be inputs/outputs
    • Limited: only widgets as inputs, graphs and tables can only be outputs
    • Styling control
    • Dash Design Kit, Basic Bootstrap, or CSS
    • Basic Bootstrap or CSS
    • Limited or CSS
    • Crossfiltering
    • ✔️
    • ✔️
    • Dynamic Layouts
    • Pattern-Matching Callbacks
    • Long Running Tasks
    • ✔️
    • Year founded
    • 2017
    • 2012
    • 2019
    • GitHub contributors
    • 98
    • 69
    • 142
    • GitHub Stars
    • 17.1k
    • 4.7k
    • 20.2k
  • Dash

    Shiny

    Streamlit

    • Languages Supported
    • Python and R
    • Python and R
    • Python
    • OSS License
    • MIT
    • AGPL
    • Apache 2.0
    • Back-end Architecture
    • Stateless
    • Stateful
    • Stateful
    • Downloads/month
    • 1M+
    • 330,000
    • 900,000
    • Web protocol
    • HTTP(S)
    • Websockets
    • Websockets
    • Recommended deployment
    • Dash Enterprise
    • Shiny Server Pro (RStudio Connect)
    • Heroku
    • User experience
    • Web app
    • Model output with controls in a Web page
    • Notebook with controls
    • App structure
    • Multi-page
    • Single page
    • Notebook with code
    • Front end
    • React
    • jQuery
    • React
    • Interactivity
    • Complete: any component can be an input/output, including tables
    • Partial: some components can be inputs/outputs
    • Limited: only widgets as inputs, graphs and tables can only be outputs
    • Styling control
    • Dash Design Kit, Basic Bootstrap, or CSS
    • Basic Bootstrap or CSS
    • Limited or CSS
    • Crossfiltering
    • ✔️
    • ✔️
    • Dynamic Layouts
    • Pattern-Matching Callbacks
    • Long Running Tasks
    • ✔️
    • Year founded
    • 2017
    • 2012
    • 2019
    • GitHub contributors
    • 98
    • 69
    • 142
    • GitHub Stars
    • 17.1k
    • 4.7k
    • 20.2k
  • Dash

    Shiny

    Streamlit

    • Languages Supported
    • Python and R
    • Python and R
    • Python
    • OSS License
    • MIT
    • AGPL
    • Apache 2.0
    • Back-end Architecture
    • Stateless
    • Stateful
    • Stateful
    • Downloads/month
    • 1M+
    • 330,000
    • 900,000
    • Web protocol
    • HTTP(S)
    • Websockets
    • Websockets
    • Recommended deployment
    • Dash Enterprise
    • Shiny Server Pro (RStudio Connect)
    • Heroku
    • User experience
    • Web app
    • Model output with controls in a Web page
    • Notebook with controls
    • App structure
    • Multi-page
    • Single page
    • Notebook with code
    • Front end
    • React
    • jQuery
    • React
    • Interactivity
    • Complete: any component can be an input/output, including tables
    • Partial: some components can be inputs/outputs
    • Limited: only widgets as inputs, graphs and tables can only be outputs
    • Styling control
    • Dash Design Kit, Basic Bootstrap, or CSS
    • Basic Bootstrap or CSS
    • Limited or CSS
    • Crossfiltering
    • ✔️
    • ✔️
    • Dynamic Layouts
    • Pattern-Matching Callbacks
    • Long Running Tasks
    • ✔️
    • Year founded
    • 2017
    • 2012
    • 2019
    • GitHub contributors
    • 98
    • 69
    • 142
    • GitHub Stars
    • 17.1k
    • 4.7k
    • 20.2k

Build. Deploy. Scale.

CONTACT SALES

Dash Enterprise

COMPANY

  • WE ARE HIRING

Installation

© 2023
Plotly. All rights reserved.