Tips for writing and maintaining Dash.jl applications

07/26/2023, 7:30 PM — 8:00 PM UTC
32-123

Abstract:

Dash.jl is the Julia version of Plotly's Dash, a framework for building data science web applications. Relying on the same frontend components (written in JavaScript) as the popular Python version of Dash, Dash.jl is a robust library and a trustworthy choice for Julia users. This talk presents industry-tested tips on how to write maintainable Dash.jl applications, Julian code patterns for Dash.jl as well as tricks to work around some of Dash.jl's limitations.

Description:

Dash.jl is an open-source Julia package. Built on top of Plotly.js, React and HTTP.jl, Dash.jl ties modern UI elements like dropdowns, sliders, and graphs directly to your analytical Julia code. Relying on the same frontend components (written in JavaScript) as the popular Python version of Dash, Dash.jl is a robust library and a trustworthy choice for Julia users.

The talk begins by going over some of Dash.jl’s fundamentals with the help of an example interactive Gantt chart application. We follow by covering tricks that can help user work around some of Dash.jl’s limitations like caching the results of slow-executing callbacks, enabling keyboard triggers for callbacks and adding custom mode-bar interactions to the stock graph component. More evolved subjects are discussed next such as writing scalable and testable multi-page applications. Implementing sticky state that can be shared via URL query strings is also covered, all this while putting emphasis on Julian code patterns.

The talk should allow Dash.jl newcomers to get an overview of the framework's capabilities. In turn, experienced Dash.jl users may learn a new trick or two.

Slides: https://etpinard.gitlab.io/dash.jl-tricks/juliacon2023/

Other useful links:

  • https://github.com/plotly/dash.jl
  • https://community.plotly.com/c/plotly-r-matlab-julia-net/julia/23
  • https://discourse.julialang.org/tag/dash
  • https://gitlab.com/etpinard/dash.jl-tricks

Platinum sponsors

JuliaHub

Gold sponsors

ASML

Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners

NAWA

Local partners

Postmates

Fiscal Sponsor

NumFOCUS