One of the cool things about Dash is that its built using React, a javascript library for building user interfaces and web components.
The React community is huge. Thousands of components/libraries have been built and released with open source licenses. These range from fully featured component libraries such as Mantine, React Bootstrap, MaterialUI, etc. to individual components such as React Colorful, React Timeline Range Slider, etc.
Some of these React components/libraries have already been adapted into Dash components. You can find all the community submitted Dash components here.
If no existing component suits your purpose, you can write your own components and then port them to Dash.
JavaScript is the language of the web - all modern browsers can run it, and most modern web pages use it to make their pages interactive. It is the de-facto standard of front end development and has come a long way since its inception. Today, modern JavaScript has a rich set of features, designed to create a development experience perfectly suited for the web.
If you’re new to JavaScript, we recommend learning the basics first. There are many good tutorials available, such as this one by Mozilla: JavaScript basics - Learn web development | MDN
React is JavaScript library for building user interfaces, written and maintained by Facebook. It has been very popular over the last few years because it brings the power of reactive, declarative programming to the world of front end development.
React has made it easier to think about user interface code, and its programming model encourages code that’s modular and reusable. It also has a huge, vibrant open-source community that has published all sorts of reusable UI components, from sliders to data tables, dropdowns to buttons.
It is important to realise that React is just JavaScript. React is not a language on its own, nor is it a domain-specific framework that takes years to master. It has a relatively small API, with just a few functions and paradigms to learn before you, too, can use it to write applications for the web.
Dash uses React under the hood to render the user interface you see when you load a web page created with Dash. Because React allows you to write your user interface in encapsulated components that manage their own state, it is easy to split up parts of code for Dash too.
For now, the important thing to know is that Dash components are often simple wrappers around existing React components. This means the entire React ecosystem is potentially usable in a Dash application.
If you’re new to React, we recommend playing around with React a bit before diving straight into creating components for Dash. Refer to the official React docs here.
You will need python to generate your components classes to work with Dash.
Download python on the official website or through your os distribution package manager.