Why is python dash more suitable for large-scale services than streamlit when I want to use it at work?
welcome to the community and thank you for the question.
Here are two resources that help answer that question.
As a summary comparing between Dash and Streamlit:
Styling: Streamlit requires users to master CSS to make changes to the UI/UX elements, making it significantly more difficult to edit the UI / UX of the application. Their starter pack is decent, however, when you need branding, especially at work, it can get tough to make changes if you do not know CSS.
Speed: The more elements you have in your Streamlit application, the slower the application will run due to the way Streamlit handles its UX/UI rendering. With Streamlit, application load times, especially for larger applications, are slower due to this reason.
Deployment: Streamlit has no supported platform for deploying, authenticating, and managing applications. Streamlit Cloud is hosted on their cloud and has minimal capabilities. In contrast, Dash Enterprise provides an enterprise-grade platform that is installed within a customer’s VPC for deploying, scaling, and authenticating applications. Plus, the application framework itself provides easier UI customization, faster rendering, and scalability.
End-to-end application management: With Dash Enterprise, it makes the entire lifecycle of data application development extremely easy for data analysts, scientists, or non-IT engineers. Plus, Dash Enterprise recently launched the capability to deploy Streamlit apps directly. So, both Dash and Streamlit developers can stay in one platform.
Here’s a quick visual comparison:
|Built-in chart editor|
|Built-in data aggregation|
|Drag and drop layouts|
|Custom PDF reports|