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