Let me preface this by saying that I’m a Julia novice, and I have never done any web dev or serious plotting. So, a quick pointer to the right packages for my needs should suffice as an answer.
In a nutshell: I want to write a website that uses Julia to provide an interactive real-time simulation of the Ising model similar to this one done in Mathematica. What packages are best suited to this purpose?
Key features I would like: sliders and buttons that control parameters of the simulation, aesthetically pleasing graphics, and the ability to embed auxiliary graphs of various parameters of the simulation (all updated in real time). I’d also like the ability to do 3D graphics, in order to simulate the 3D Ising model.
Some Googling suggests that Makie for visualization and Genie for the web stuff is one solution. Is it the best? It seems that maybe generating javascript directly with something like VegaLite.jl might be easier, but that this comes at the cost of less control/power for the visuals.
If this is just for yourself to run locally, you could make a Pluto notebook and use the PlutoUI package for the interface.
If you want to make something that be more easily accessed by someone over the internet, you can look at dashboard packages like Dash.jl and Stipple.jl. Dash relies on Plotly’s tools, while Stipple is uses the Genie framework.
Pluto is not really suitable for my needs, since I don’t want to expose the underlying code, only the widget. (Not that I’m trying to hide anything, just that it’s messy.)
Indeed, I’m trying to make something that could be hosted online. Do Dash or Stipple have any particular advantages relative to Mackie? Are they capable of visualizing real-time simulations? All the examples I could find looked like static graphs that were updated in response to user input.
I think you should be able to make animations in plotly, which means you should be able to embed animations of a simulation in either Dash.jl or Stipple (via the StipplePlotly package)