This page was machine-translated from Portuguese and may contain errors. The Portuguese version is canonical.
Installation and requirements
In a few minutes you’ll have the environment ready to run on the desktop — the fastest way to get started (quick iteration, no emulator).
Prerequisites
- JDK 17 (LTS). Check:
java -version - Gradle — or just use the wrapper included in the project (
gradlew):./gradlew --version
Project structure
A CrossFly app is a multi-module Gradle project: a core module (your UI and logic) + a
per-platform launcher. Add the CrossFly dependency to core and include the launcher for the target
you want to run:
:core → seu código (Windows, componentes) + dependência do CrossFly
:lwjgl3 → launcher desktop (comece por aqui)
:android :ios :web → demais alvos
The exact dependency coordinates (dev.crossfly:crossfly-core + version) and those of the launchers come from
the model project’s build.gradle — keep them as defined in the repository template.
Requirements per platform
| Target | Needs |
|---|---|
| 🖥️ Desktop (LWJGL3) | just the JDK — start here |
| 🤖 Android | Android SDK/NDK |
| 🍎 iOS | macOS + Xcode |
| 🌐 Web (TeaVM) | a browser (WebGL2) |
Native library: each platform bundles the
crossfly-lib(JNI), loaded at startup (except on WebGL). On the desktop, it must be on thejava.library.path(see Desktop).
Why start with the desktop
The desktop gives the shortest compile→run cycle (seconds, no emulator). You validate the UI there and only move to mobile once the screen is ready.
Next steps
→ Quickstart: Hello World in ~10 min
See also
- Canonical source: Chapter 4 — Bootstrap and Lifecycle · Platforms