Skip to content

Choosing a backend for your app

Noah edited this page Sep 1, 2024 · 12 revisions

Saucer provides several backends for different operating systems:

  • Windows
    • WebView2 (as webview2). Supports x86_64.
  • GNU/Linux
    • GTK (as gtk). Supports x86_64, aarch64, arm, ppc64le.
    • Qt 5 & 6 (as qt). Supports x86_64.
    • EXPERIMENTAL Qt 5 & 6 (as qt_experimental). Supports aarch64 & mips64el, but with some bugs and odd behaviors.

With saucer4j, you need to bundle the backends you want with your app. The library will automatically select the correct backend at runtime.

Replace _VERSION with the latest release or commit in this repo.

Replace _BACKEND with one of the above backends. You can also use the _all meta package to include every backend as a single dependency.

Make sure you add the Repository to your build system.

Maven
<dependency>
    <groupId>com.github.saucer.saucer4j</groupId>
    <artifactId>_BACKEND</artifactId>
    <version>_VERSION</version>
</dependency>
Gradle
dependencies {
  implementation 'com.github.saucer:saucer4j._BACKEND:_VERSION'
}

You will also need to include the api dependency in your project.

All of saucer4j is licensed under MIT, so you can shade the dependencies into your own uber-Jar :^)

Note about using Qt in your project

Qt provides two licenses:

  • A community license, which may require your project to be licensed under GPL.
  • A paid license, which does not require your project to be licensed under GPL.