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.
In a Julia session clone
Genie and its dependencies:
julia> Pkg.clone("https://github.com/JuliaDB/DBI.jl") # Julia's DB interface julia> Pkg.clone("https://github.com/JuliaDB/PostgreSQL.jl") # PostgreSQL adapter 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 warn: You must restart the current Julia session before loading the new app to properly reinitialize Genie.
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
Once the app is loaded you can start the web server anytime with
If you want to learn more about Genie you can
- read the guides
- check out the API docs
dive into the demo apps
- The amazing Genie logo was designed by my friend Alvaro Casanova (www.yeahstyledg.com).
- Genie uses a multitude of packages that have been contributed by so many incredible developers.
- I wouldn't have made it so far without the help and the patience of the amazing people at the
Thank you all.