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 series of tools for productive web development.
In a Julia session clone Genie
and its dependencies (it's not yet an official package):
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()
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
julia-users
group.
Thank you all.