Skip to content

Latest commit

 

History

History
48 lines (24 loc) · 3.1 KB

Technology.md

File metadata and controls

48 lines (24 loc) · 3.1 KB

Software used for this project

Implementation language

LogoRRR is implemented in Scala, a programming language which allows you to combine functional and object oriented programming. It compiles down to the Java Virtual Machine (JVM).

GUI Library

As User Interface Technology LogoRRR uses JavaFX. With the help of JavaFX it is possible to create Desktop Applications with Java or JVM based languages.

Build Tool

LogoRRR uses Apache Maven as it's build tool. Maven is a well established build tool for the Java ecosystem, and Gluon provided a JavaFX plugin for building JavaFX applications for it.

Installer

Windows

On windows, LogoRRR uses GraalVM native image to compile the application code to a native binary. To be able to use native image's features together with JavaFX, a company named Gluon has created a Maven plugin (gluonfx-maven-plugin) which makes it easy to create AOT binaries based on JavaFX. In fact, the initial motivation for LogoRRR was to show that creating applications with JavaFX was feasible together with GraalVM.

Keep in mind that Gluon also provides its own build for GraalVM, to be sure that the toolchain works it is adviseable to use Gluon's customized build for GraalVM as well, which is available here.

To enhance end user experience further, an installer framwework named Advanced Installer was used to create the windows installer. Advanced installer is in no way affiliated with either Gluon nor GraalVM, but can be regarded as its own tooling. It was choosen since the installer itself has a great UX and it is easy to use and is accessible for the project thanks to the employer of the main author (Nextsense).

MacOs

The MacOs Installer is built via jpackage which is able to create a pkg and makes it easier to install LogoRRR for MacOsX.

Linux

You can install LogoRRR via the provided .deb files via

sudo apt install <release>.deb

A more general install support for Linux is planned.

Misc

Some helper tools are being implemented to help create the releases or creating screenshots and the application icons, all implemented in Scala.

Please note: Because LogoRRR is not digitally signed you are going to see warnings when trying to download, install or start the application. This will not change until it is digitally signed.

This situation will be better when there is an installation via windows app store and apple app store are available.

Development information

If you want to build LogoRRR from source code read this document: Build instructions