Skip to content
CrossFly is 100% open sourceFollow us on GitHub
CrossFlyCrossFly
Get started
Project generator

Start a CrossFly app in one download

Pick the platforms, a first screen, the look and the libraries you need. You get a Gradle project that builds as it is — on desktop (Windows, macOS and Linux), Android, iOS and the web (Chrome, Firefox, Safari and other browsers), from one Java codebase.

Project
Platforms
Starting point
Look
Skin

iOS skin on iOS, Material everywhere else.

Theme
Libraries
Device
Voice
Data
Quality
Other
Advanced

Then

  1. Unzip and open the folder in IntelliJ IDEA or Android Studio (it is a plain Gradle project).
  2. Run ./gradlew lwjgl3:run (gradlew.bat on Windows) to see the app on the desktop.
  3. Edit the first window in core/src/main/java — every platform runs that same code.
  4. The README in the ZIP lists the run and release command of each platform you chose.

What is in the ZIP

One shared modulecore holds every screen and all the logic. The platform modules only launch it.
Working launchersDesktop (Windows, macOS and Linux), Android, iOS and web launchers wired to CrossFly's backends, with the build tasks each one needs.
Permissions includedEach library brings its Android permissions and its iOS usage texts, so the first run does not stop on a missing declaration.
Pinned versionsEvery CrossFly artifact at the same version, plus the Gradle wrapper — no global install of anything but a JDK.

Libraries you can add

Each library is a folder in the framework repository, built alone and with all the others before it appears here.

Biometric sign-in
dev.crossfly.device.Biometry: fingerprint and face unlock (Android BiometricPrompt, iOS Face ID / Touch ID).
Bluetooth
dev.crossfly.device.bluetooth: discovery and connections, with the Android 12+ permissions and BlueCove on desktop.
Camera and barcodes
dev.crossfly.device.Camera and CameraBarcode: photos and QR/barcode reading. On desktop it uses the webcam.
Web view on desktopExperimental
WebContainer on desktop, through JavaFX's WebView. Android and iOS use the system web view and need nothing extra.
GitHub Actions CIExperimental
A workflow that builds every platform you chose on each push and pull request, and runs the tests when there are any.
Unit tests (JUnit 5)
JUnit 5 in the core module, with a first test. Run with gradlew core:test.
Location (GPS)
dev.crossfly.device.Location: one-shot position and continuous tracking, with the permissions each OS asks for.
Maps
dev.crossfly.map: OpenStreetMap with no key, and Google Maps on Android once you provide an API key.
Video recording on desktopExperimental
crossfly-media: records video and audio on desktop through FFmpeg, whose native libraries for every desktop OS make the desktop build much larger.
Screen test
Opens your screens, taps through them and compares their layout with a recorded baseline. Run with gradlew lwjgl3:run -Ptest; it exits 1 when something changed.
Speech to text
Dictation through the system recognizer on Android and iOS, and an offline engine on desktop.
CrossFly SyncPrivate feed
Offline-first synchronisation of a local SQLite store with the CrossFly Sync server, on desktop and Android.
Text to speech
Reads text aloud: the system voices on Android, iOS and the web, libgdx-tts on desktop.
More libraries over time

The list above is read from the starter that ships with the framework. A library is added there as one folder, and it appears on this page with the next update — including the ones waiting for a CrossFly release, which show up marked with the version they need.

Read the documentation See the examples running