JuliaHub Blog: Insights & Updates

Unveiling Genie Builder: Create Low-Code Apps on JuliaHub

Written by Deep Datta | Feb 27, 2024

Users of JuliaHub are already familiar with the Genie framework,  a full-stack web framework that offers a streamlined and efficient workflow for developing modern web applications. Building on Julia’s strengths such as high-level, high-performance, dynamic nature, and Just-Time-Compilation (JIT), Genie offers a wealth of features through its rich API and robust toolset for web development. 

And now we are happy to introduce Genie Builder - a game-changer for those seeking to streamline their development process. Genie Builder offers a unique approach, allowing Julia users to create full web applications through an intuitive drag-and-drop UI building functionality. It is the ultimate development tool for researchers and engineers who want to deploy their data-centric applications with minimal overhead. 

Genie Builder streamlines the process of building web applications based on your Julia code. Using a drag-and-drop UI builder and low-code backend written entirely in Julia, Genie Builder allows you to create web apps without the need to delve into the intricacies of HTML, CSS, or JavaScript. Powered by Genie, Julia's #1 framework, Genie Builder is both an intuitive tool for swiftly creating dashboards and prototypes, and a reliable solution for building and scaling production applications. 

See how it works in this video:

 

Who can benefit from Genie and Genie Builder? 

Simulation Engineers

Engineers often need to simulate hardware components in order to prove that their systems work.  Often, these simulations help bring up issues in the overall design of the system and are much cheaper to model digitally rather than develop the full hardware. An example might be creating a new type of battery, an HVAC system, or even something as complex as modeling how to build a new kind of jet. Simulation engineers can use Genie Builder to convey the results of simulation data (using JuliaSim) to stakeholders.

Data-Centric Teams

Data-Centric Applications are meant to convey the output of research. For example: a company building automated vehicles has developed a new way to help their cars navigate through snow-heavy terrain. They want to show the results of their research to a government panel or internal stakeholders. Letting the researchers upload their data and then build an interactive dashboard would be a compelling and immersive way to showcase the results.

Similarly, if a financial firm wanted to build an interactive platform for their clients to run various models and visualize results through plots or graphs  - they could easily deploy a web application with an interactive dashboard component that lets users explore the outcomes by inputting various types of information. 

Launching Genie Builder on JuliaHub as a Trial

To get started with Genie Builder on JuliaHub, all you have to do is login to your JuliaHub account by clicking here. Once logged in, go to the Applications area on the left-side navigation menu. You’ll see the Genie Application. Click on the Launch button to instantiate the instance. Once the application is instantiated and ready, you’ll see a Connect button.

This will take you into a 10-hour trial of Genie. After 5 hours, you will be prompted to upgrade to a paid plan. Contact us here for more information.

Deploy a Genie Application using Projects

Start by creating a New Project. This will make sure that all the work you do in Genie Builder saves to a specific directory. The Project is also how you will eventually deploy your Genie  App.

First Click on the Projects from the left-navigation menu:

 

On the top-right of the page, you’ll see a Create Project button. 

Select the arrow to choose the special project template of Create Genie Project:

 

On the next screen, you’ll create the project. You can name the project, choose Exclusive Editing (as a single user), and make sure the default application has Genie selected.

 

 

On the next screen, you can add users that you want to be able to have access to work on the Genie project with you. 

You can give them editing rights:

Then, hit Create. Now you will see the project has been created:

 

Select the project and you’ll then be able to see you can both Launch the project (in Genie) or Deploy the app once it’s ready.

 

Once ready, you’ll see a simple deployed Genie App:

Working with The Genie Framework

Genie Builder is a robust low-code, drag-and-drop tool to quickly build Julia web applications but what if you need to scale or extend the functionality of your Genie Builder app to be production-ready? This is where the magic happens - Genie Builder apps can be extended with the full power of the Genie Framework. Genie is not only Julia’s number one web framework, it is a complete toolbox of packages and plugins enabling extensive functionality and scalability ideal for enterprise-grade applications. The time and cost efficiency that Genie Builder offers combined with the customization and productivity gains of the Genie Framework empower you with all you need to share your work with the world. To Learn more, checkout the documentation and follow along with us with the following resources:

Web Apps on JuliaHub: 

https://juliahub.com/products/web-apps/

See a few examples on the App Gallery here:

 https://learn.genieframework.com/app-gallery/

Sign-up for the webinar here:

https://info.juliahub.com/web-applications-in-julia-with-genie-builder