Last updated: 2023-09-06
What do you get?
- Best Practices: Well structured Plotly Dash App Template
- Step-by-Step Guide with Docker Deployment (12-page tutorial)
Why Plotly Dash?
Plotly Dash is a productive Python Framework for building web-based applications. The Open Source library is licensed under the permissive MIT license. It is written on top of Flask, Plotly.js and React.js. You can create and deploy web apps with customised user interface (UI) in Python or R. The framework abstracts the protocols and technologies needed to create a full-stack web app.
You can use Docker to isolate applications. It uses a concept called container virtualisation. Applications can be easily deployed with Docker because lightweight containers contain all the necessary packages. Containers share the services of a single operating system kernel, so they use fewer resources than virtual machines. Docker makes it easy to deploy a Dash App. With Docker, you can deploy the Dash App to all architectures (amd64, i386, arm64, arm). This approach makes you independent of the deployment environment (on-premise or cloud).
Model View Controller Pattern
The Plotly Dash Template uses the Model View Controller Pattern (MVC). MVC is a pattern for dividing software into the three components: Model, View and Controller.
The model component contains the business logic. This component communicates with a database or other backend components. The view component displays the data. It should be noted that the view has no direct connection to the model. The controller forms the connection. The controller is responsible for data processing. The controller updates the view with data from one or more models. The Model View Controller pattern enables a clean separation of concepts. This approach facilitates the maintenance of the Dash application.
Learn the basics of Dash and Python
- Dash Python User Guide
- The Book of Dash: Build Dashboards with Python and Plotly*
- Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming*
* Disclosure: The links are affiliate links, which means we will receive a commission if you purchase through these links. There are no additional costs for you.
You get a well-structured Plotly Dash Template and a Step-by-Step Tutorial (with Docker Deployment).