How do Dash, Posit (Shiny), Streamlit, and Bokeh compare as low-code, UI layers for AI and ML models?
Dash
Posit (Shiny)
Streamlit
Bokeh
- Languages Supported
- Python, R, Julia, and F#
- Python and R
- Python
- Python
- OSS License
- MIT
- AGPL
- Apache 2.0
- BSD
- Back-end Architecture
- Stateless
- Stateful
- Stateful
- Stateful
- Downloads/month
- 1M+
- 330,000
- 900,000
- 2,000,000
- Web protocol
- HTTP(S)
- Websockets
- Websockets
- Websockets
- Recommended deployment
- Dash Enterprise
- Posit Connect
- Streamlit Cloud
- Heroku or Anaconda Enterprise
- User experience
- Web app
- Model output with controls in a Web page
- Web app
- Notebook or Web app
- App structure
- Multi-page
- Single page or Multi-page depending on technology
- Multi-page
- Single Page
- Front end
- React
- jQuery
- React
- Custom-Only
- 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
- Complete: any component can be an input/output, including tables
- Styling control
- Dash Design Kit, Basic Bootstrap, or CSS
- Basic Bootstrap or CSS
- CSS
- Custom-Only
- Crossfiltering
- ✔️
- ✔️
- ⚪
- ✔️
- Dynamic Layouts
- Pattern-Matching Callbacks
- ⚪
- ⚪
- ⚪
- Long Running Tasks
- ✔️
- ✔️
- ⚪
- ✔️
- Year founded
- 2017
- 2012
- 2019
- 2013
- GitHub contributors
- 111
- 77
- 180
- 577
- GitHub Stars
- 18.9K
- 5K
- 25.6K
- 17.7K