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:
julia> Pkg.clone("https://github.com/essenciary/Genie.jl")
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 genie>
session.
Edit /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...
Visit http://localhost:8000/hello
for a warm welcome!
At any time, from the command line you can start a Genie interactive session by using
$> bin/repl
Or you can use
$> bin/server
to start the app in non-interactive mode.
On Windows, repl.bat
and server.bat
are provided inside the bin/
folder. Just double click them to start an interactive REPL session or a server session, respectively.
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
julia-users
group.
Thank you all!