Web Apps

Introduction

A web app is an interactive website. There are several Julia packages that help in the creation of web apps that run Julia as the backend language.

Overview

The most popular by far is Genie.jl. This is the recommended package for most users when it comes to building web apps.

Packages

Genie.jl

GitHub Repo stars deps Genie Downloads
Stable Dev GitHub last commit (branch) version
The most popular web app framework is Genie.jl. As of September 2023 it has more than 2000 stars, making it one of the most starred Julia packages out there. It describes itself as follows:

Genie is a full-stack 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.

It also has a no-code GUI for building web apps, which is rather easy to use, with a licence price.

Oxygen.jl

GitHub Repo stars deps Oxygen Downloads
Stable Dev GitHub last commit (branch) version Coverage
Then there is Oxygen.jl. It describes itself as

A micro-framework built on top of the HTTP.jl library. Breathe easy knowing you can quickly spin up a web server with abstractions you're already familiar with.

Bonito.jl

GitHub Repo stars deps Bonito Downloads
Stable Dev GitHub last commit (branch) version Coverage
Finally, there is Bonito.jl. It describes itself as follows:

Easy way of building interactive applications from Julia. Uses Hyperscript to create HTML descriptions, and allows to execute Javascript & building of widgets. It also supports an offline mode, that exports your interactive app to a folder, and optionally records a statemap for all UI elements, so that a running Julia process isn't necessary anymore.

Other

It is worth mentioning the github organization JuliaWeb. JuliaWeb hosts a number of repositories which implement the tools needed to build web apps.

This section is not yet written well. If you have used or developed Julia packages in this domain, we would love your help! Please visit the "Contributing" section of the repository that hosts this website for information on contributions.

This website is a community effort covering a lot of ever-changing information. It will therefore never be complete or without error. If you see something wrong, or have something to contribute, please see the "Contributing" section in the github repository.

Last modified: May 03, 2024. Built with Franklin.jl