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

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 the java.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
Was this page helpful?