Are there any high level general purpose graphics libraries for julia?

Viewed 881

Julia libraries like 'GLAbstraction' are too low level for me. I need something like the 'Canvas API' for JavaScript in browsers. Are there any?

1 Answers

This is not an exhaustive list. I put the first several links I was aware of. I would start with QML.jl if you can.

Related discussions:
https://discourse.julialang.org/t/julia-for-gui-app/416
https://discourse.julialang.org/c/domain/viz/17

Desktop Graphics Engines aka Desktop GUIs

If you search through the JuliaCon Videos from past years, you can find talks and walkthroughs for these packages.

I have a background in Qt and the Qt Libraries, and it is very general purpose. QML is very friendly if you have a javascript background. The KDE desktop in Linux is built around Qt. Many desktop apps in general include Qt dlls, and use it as its backbone.

https://github.com/barche/QML.jl

And here is a youtube link or two about it:

https://www.youtube.com/watch?v=AddbHe05yRg

https://github.com/barche/juliacon2020-qml - example code for the most recent talk on it

https://www.youtube.com/watch?v=4Bmp0I731Ak

Gtk has been around a long time and you can see it in use in GIMP and Gnome desktop in Linux.

https://github.com/JuliaGraphics/Gtk.jl

The examples for Redux are mentioned in the PackageCompiler.jl video done recently. These are more or less the React Native style apps, shipping a chromium browser and rendering a react environment as a desktop app.

https://github.com/Gnimuc/Redux.jl

Interactive Plotting Libraries

There is a list of them here in the Plots.jl interface. Plotting in Julia is a pretty big rabbit hole, and there are tons of options to look into. Jupyter notebooks and the like with interactivity layered on them blurs the line between what is a GUI and what is just a plot.

http://docs.juliaplots.org/latest/ecosystem/

https://juliaobserver.com/categories/Graphical%20Plotting

https://github.com/JuliaPlots/Makie.jl

https://github.com/JuliaGL/GLVisualize.jl

https://github.com/JuliaGizmos/Interact.jl

https://github.com/plotly/Dash.jl

Web Frameworks

https://genieframework.com/

https://github.com/JuliaGizmos/Interact.jl

https://github.com/plotly/Dash.jl

Related