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

Languages SupportedPython, R, and JuliaR onlyPython only
OSS LicenseMITAGPLApache 2.0
Backend ArchitectureStatelessStatefulStateful
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
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
Dynamic LayoutsYes (Pattern-Matching Callbacks)NoNo
Long Running TasksYesNoNo
Year founded201720122019
Funding (USD)$20M$8M$6M
GitHub contributors424146
GitHub Stars11.4k3.8k7.6k