Welcome to Genie Framework!

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.

Framework overview

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.

Getting started

To get started with your first app, head over to the First app guide.

To build an interactive dashboard, check out the First dashboard guide.

To add more pages to your app, see the First multipage app, Adding dynamic pages and Adding reactive pages guides. For more advanced features see the API guide and the Reference section.