Blink.jl provides a API for communicating with web pages from Julia. Pages may be served over the internet and controlled from the browser, or served locally via an Electron window. Blink can therefore be used as a GUI toolkit – DevTools.jl for an example use.
To install, do:
Pkg.add("Blink")
Blink.AtomShell.install()
Basic usage:
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
For options see the functions defined in window.jl, which closely follow electron's API.
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")
- On Windows, the spawned process dumps its output into Julia's STDOUT, which is kind of annoying.