The highly productive 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.
Genie is fully compatible with Julia v0.6.
In a Julia session clone
Genie and its dependencies:
Bring it into scope:
julia> using Genie
Create a new app:
julia> Genie.REPL.new_app("your_cool_new_app") info: Done! New app created at /path/to/your_cool_new_app
Genie will automatically load the new app into the REPL and start an interactive
/path/to/your_cool_new_app/config/routes.jl and append:
route("/hello") do "Hello - Welcome to Genie!" end
Start the web server:
genie> AppServer.startup() Listening on 0.0.0.0:8000...
http://localhost:8000/hello for a warm welcome!
At any time, from the command line you can start a Genie interactive session by using
MacOS / Linux / *nix
Or you can use
to start the app in non-interactive mode.
server.bat are provided inside the
bin/ folder. Just double click them to start an interactive REPL session or a server session, respectively.
Juno / Jupyter / other Julia environment
using Genie Genie.REPL.run_repl_app()
If you want to learn more about Genie you can
- check out the API docs
- dive into the demo apps
- read the guides (coming soon)
- take a look at the slides for the Genie presentation at the 2017 JuliaCon JuliaCon 2017 Genie Slides
- visit genieframework.com for more resources
- Genie uses a multitude of packages that have been contributed by so many incredible developers.
- The amazing Genie logo was designed by my friend Alvaro Casanova (www.yeahstyledg.com).
- Built with the help and support of many amazing developers at the
Thank you all!