Web-based GUIs for Julia
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 julia> # press ] to enter the Pkg REPL mode (v1.3) pkg> add Blink
(v1.3) pkg> # press backspace to exit Pkg REPL mode julia> using Blink ```
unzipon Linux. You'll need to install the appropriate one for your system to be able to install Electron:
apt get install -y unzipor similar should work.
7zthat is normally packaged with binary distributions of Julia (via the BinDeps.jl build dependency).
7zmay be unavailable in case of a source build of Julia on Windows, in which case it can be obtained by running
make win-extrasafter running
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-Ion OS X) and evaluate:
@js w console.log("hello, web-scale world")
When running on a headless linux instance (such as for CI tests), you must start julia via
xvfb-run julia. More information can be found in the electron docs here. See the Blink.jl .travis.yml file for an example.
Otherwise you will see the following error:
│ LoadError: IOError: connect: connection refused (ECONNREFUSED)