Genie Logo

Genie

The high-performance high-productivity Julia web framework

Genie is a full-stack MVC web framework that provides a streamlined and efficient workflow for developing modern web applications. It builds on Julia's strengths (high-level, high-performance, dynamic, JIT compiled), exposing a rich API and a powerful toolset for productive web development.

Quick start

In a Julia session clone Genie and its dependencies:

julia> Pkg.clone("https://github.com/essenciary/Flax.jl") # Genie's templating engine

julia> Pkg.clone("https://github.com/essenciary/SearchLight.jl") # Genie's ORM

julia> Pkg.clone("https://github.com/essenciary/Genie.jl") # Finally the Genie itself 👻

Bring it into scope:

julia> using Genie

Create a new app:

julia> Genie.REPL.new_app("demo_app")
info: Done! New app created at /demo_app

cd into the new app's dir and start the server:

$> ./genie.jl s

See it in action by navigating to http://localhost:8000/ with your favorite browser.


In order to start a Genie interactive session, load the app into the Julia REPL:

$> julia -L genie.jl --color=yes --depwarn=no -q

Alternatively, from a regular Julia session, you can just

julia> include("genie.jl")

Once the app is loaded you can start the web server anytime with

julia> AppServer.startup()

Next steps

If you want to learn more about Genie you can