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

Everything the platform can do

The CrossFly ecosystem in one place — build native apps with Core and keep their data in sync offline-first with Sync.

CrossFly Core

Native Android, iOS, Desktop (Windows, macOS and Linux) and web apps in pure Java.

Explore

Pure Java, end to end

Write your whole app — UI, logic, navigation — in Java. No DSL, no second language, no context switching.

Performance that flies

A LibGDX rendering core delivers native-grade speed and frame rates the alternatives can only envy.

One codebase, 4 targets

Android, iOS, Desktop (Windows, macOS and Linux) and the web (Chrome, Firefox, Safari and other browsers) from a single source. Build once, ship to every screen your users own.

You already know it

If you know the Java API, you already know CrossFly. Reuse the muscle memory of millions of developers.

Native UI toolkit

Windows, TextFields, Buttons, GridLayout, styles, shadows and Material Icons — ready out of the box.

Instant feedback

Sub-second builds and a running app in under a minute keep you in flow instead of waiting.

Composable styles

ComponentStyle objects you copy and tweak — gradients, focus highlights, pressed states, shadows.

Smart layouts

GridLayout, relative sizing and font-based gaps adapt your UI to any resolution automatically.

Multi-language ready

First-class i18n hooks so your app speaks English, Portuguese, Spanish and beyond from day one.

FormLogin.java
// Real CrossFly styling API — gradients, shadows, focus statespublic static ComponentStyle botao = Styles.component()    .pressable()    .backColor(0xFF00F977)    .textColor(0xFF000000)    .borderRadius(1f)    .shadow(4, 4, 10, 0x80000000); add(.9f, new Button("Acessar")    .onAction(this::onAcessar)    .style(botao).pressedStyle(botaoP));

CrossFly Sync

Bidirectional offline-first sync for any stack.

Explore

Truly offline-first

The device is the source of truth — writes land locally and reconcile when the connection returns.

Durable mutation queue

Writes queue and sync bidirectionally, without losing data on flaky networks.

One Rust core, N bindings

Idiomatic SDKs for Flutter, Kotlin, Swift, JS and more over the same core via FFI/JNI/WASM.

Use your own database

Log-based CDC for PostgreSQL, MySQL, SQL Server, Oracle and MongoDB — no data duplication.

Per-tenant isolation

Dual multitenancy plus per-tenant envelope encryption backed by KMS.