- Pros: While still being relatively new for python, Shiny for R has been around for a long time, so that a lot of experiences on that could be put into Shiny for python. Sharing similar concepts should also help R users to migrate. The core of shiny is a reactive programming engine, trying to reduce the required computations as much as possible.
- Cons: Shiny uses Bootstrap as its framework for layout and styling - this means you must have understood the concepts of Bootstrap in order to change the UI.
- Use (Shiny) if: You don't have time for web development but want to expose your python code as fast as possible.
- Alternatives: Dash. Panel.
- Pros: Streamlit is well suited for fast prototyping. On top of being easy to understand and having a good documentation to get started, the real-time feedback when changing code allows for a fast turnaround. If you do not need a fully scalable application running with thousands of users, then putting a Streamlit application in production should not be a problem.
- Cons: The biggest strength of fast prototyping is also the biggest weakness, as customization is limited. The look and feel can only be customized to a certain degree.
- Use (Streamlit) if: you want a fast way of building applications and visualizations for your users, for example for a small internal data app.
- Alternatives: Dash and Shiny
Firebolt Streamlit Example: https://github.com/spinscale/firebolt-streamlit-demo