Blink.jl is the Julia wrapper around Electron. It can serve HTML content in a local window, and allows for communication between Julia and the web page. In this way, therefore, Blink can be used as a GUI toolkit for building HTML-based applications for the desktop.
To install, do:
julia> Pkg.add("Blink") # ... Blink builds and downloads Electron ... julia> using Blink julia> w = Window() # Open a new window Blink.AtomShell.Window(...) julia> body!(w, "Hello World") # Set the body content julia> loadurl(w, "http://julialang.org") # Load a web page
You can also use the JS API to interact with the window. For example:
julia> @js w Math.log(10) 2.302585092994046
If that's not convincing enough, open the console (
Cmd-Alt-I on OS X) and evaluate:
@js w console.log("hello, web-scale world")
Issues & Caveats
- On Windows, the spawned process dumps its output into Julia's STDOUT, which is kind of annoying.