Genie is a full stack web framework for the Julia programming language. Genie's goals are: excellent developer productivity, great run-time performance, and best practices and security by default. Genie web framework follows in the footsteps of mainstream full stack web frameworks like Ruby on Rails and Django, while staying 100% true to its Julia roots.
Genie also follows a "start simple, grow as needed" philosophy, by allowing developers to bootstrap an app in the REPL or in a notebook, or easily create web services and APIs with just a few lines of code.
As the projects grow more complex, Genie allows adding progressively more structure, by exposing a micro-framework which offers features like powerful routing, flexible logging, support for environments, view templates, etc.
Genie Framework has three main components: Genie, Stipple and SearchLight.
Genie.jl provides backend and frontend tools, so that you can build full stack web apps and APIs around your Julia code.
For real-time interactivity and a rich UI, like what's needed in a dashboard, Stipple.jl provides a reactive UI layer.
For database persistence, Genie's ORM, SearchLight.jl, can be added at any time.
Finally, Genie Builder increases your productivity by providing a way to design your UIs visually with drag-and-drop of components.
You can install Genie Framework from the Julia REPL by entering Pkg mode with
] and typing
pkg> add GenieFramework
This will install
Stipple.jl along with other accessory packages. To work with databases, you'll need to install
To create a basic webpage with dynamic content, see the Adding dynamic pages guide.
To build an interactive dashboard, check out the First dashboard guide.
To build a multipage app, head over to the First multipage app guide.