August 24, 2022, 10:50am
I am currently looking for package options to create applications for internal clients.
What I would really need is :
easy to use (documented package would be nice)
widgets (file pickers, sliders…)
Plots.jl (scatter, plots, histogram mostly)
Package still being maintained
Here is the list of options I have tried so far and why these :
Pluto & PlutoUI => very nice but clients can (and will) find hidden code and I need more configurable layouts (especially widgets and plots)
GTK.jl and glade (gui builder) => easy, lightweight, but GR.jl resists me (figsize, colors etc…)
Blink.jl, this package would tick all the boxes but it does not seems to be maintained anymore?
Genie.jl, tried it 2-3 years ago (and a lot of development has been done since) but is probably overkill for what I need. That, and my skills in web development are… negligible.
Don’t get me wrong, these are all great packages but I can’t seem the find the one that fits all (if it even exists).
Would you know of a package/framework that would fit the bill?
Thanks in advance!
QML.jl should provide all of that. Unfortunately
QML.jl is not available on all platforms for Julia 1.8.
August 24, 2022, 1:28pm
I’ll give it a shot over the next two days and see if I can get something usable.
August 24, 2022, 2:19pm
Another option is to use e.g.
August 24, 2022, 2:47pm
August 24, 2022, 4:32pm
I think Electron is overkill most of the times it is used, just use a local Web server and then the user can open the page in their favorite browser.
Here is a GUI example using CImGui and ImPlot:
This file has been truncated.
include(joinpath(pathof(ImPlot), "..", "..", "demo", "Renderer.jl"))
Then you need to compile an app from your project to ship it (didn’t check it for a while).
August 25, 2022, 6:18am
I came across this one too but was turned off by the scarcer commits (using the contributors as metrics)…
August 25, 2022, 6:21am
For a light weight app, i did consider using HTTP.jl as base. Is that what you are referring to?
If so, would you have a MWE to share?
I am not a web developer by any means but I would be willing to improve.
August 25, 2022, 6:24am
I would have to look further into that !! Didn’t consider that option. Cheers!
I think you misunderstand the sate of the project and what it actually is.
CImGui.jl and ImPlot.jl are just convenience wrappers around LibCImGui.jl autognerated wrapper around cimgui and cimplot autogenerated c-library wrappers around imgui and implot cpp libraries which are actively developed and backed by many big software and gaming companies, if It says something to you… Personally I think the core project will outlive many new fancy web-frameworks.
So yes, there are no active developers for thin julia wrappers, just because there are no big demand to re-generate them for newer imgui/implot versions.
Also, if you want to compare functionality and ease of use, you can try to re-create the exactly same example I posted above - in other plotting libraries. And we’ll see how many efforts and lines of code it will take to create the same iteractive plots and gui controls for other options.
I think there IS a reason its only one working example for interactive gui+plot in this thread (for now).
For full functionality see interactive tutorials for cpp versions here (most of it available in Julia):
August 25, 2022, 10:42am
This makes sense, cheers!
August 25, 2022, 10:51am
Come to think of it, I may have seen imgui when looking for a rust gui…
Thanks a lot for pointing this out to me, I won’t be as quick at discarding package thanks to you.
Definitely something I will be trying out now!
August 25, 2022, 1:26pm
See the second example here:
Of course GtkServer is not a serious challenger to ImGui – however, I still think it may be worth a look for putting together a quick GUI demo very easily.
Seriously now, a great alternative package for interactive plots is
QML.jl problem in Julia 1.8 can be easily fixed by installing CxxWrap from the main branch (
] add CxxWrap#master). This will also run all QML examples with
September 1, 2022, 2:16pm
Makie seems to have been nicely accepted within the team!
Have you ever tried to make it deployable (either as a standalone through packagecompiler or through a webserver)?
On first attempt Packagecompiler does create a sysimage but fails to create the app.
Any experience with this??