Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar
Gerador de projetos

Comece um app CrossFly em um download

Escolha as plataformas, uma primeira tela, a aparência e as bibliotecas de que precisa. Você recebe um projeto Gradle que compila como está — no desktop (Windows, macOS e Linux), Android, iOS e web (Chrome, Firefox, Safari e outros navegadores), com uma única base de código Java.

Projeto
Plataformas
Ponto de partida
Aparência
Skin

Skin iOS no iOS, Material no resto.

Tema
Bibliotecas
Dispositivo
Voz
Dados
Qualidade
Outros
Avançado

Depois

  1. Descompacte e abra a pasta no IntelliJ IDEA ou no Android Studio (é um projeto Gradle comum).
  2. Rode ./gradlew lwjgl3:run (gradlew.bat no Windows) para ver o app no desktop.
  3. Edite a primeira janela em core/src/main/java — todas as plataformas rodam esse mesmo código.
  4. O README do ZIP lista os comandos de execução e de release de cada plataforma escolhida.

O que vem no ZIP

Um módulo compartilhadoO core guarda todas as telas e toda a lógica. Os módulos de plataforma só o iniciam.
Launchers prontosLaunchers de desktop (Windows, macOS e Linux), Android, iOS e web ligados aos backends do CrossFly, com as tarefas de build de cada um.
Permissões incluídasCada biblioteca traz suas permissões do Android e seus textos de uso do iOS, para a primeira execução não parar numa declaração faltando.
Versões fixadasTodos os artefatos do CrossFly na mesma versão, mais o Gradle wrapper — nada a instalar além de um JDK.

Bibliotecas que você pode incluir

Cada biblioteca é uma pasta no repositório do framework, compilada sozinha e junto com todas as outras antes de aparecer aqui.

Login por biometria
dev.crossfly.device.Biometry: digital e reconhecimento facial (BiometricPrompt no Android, Face ID / Touch ID no iOS).
Bluetooth
dev.crossfly.device.bluetooth: descoberta e conexões, com as permissões do Android 12+ e o BlueCove no desktop.
Câmera e código de barras
dev.crossfly.device.Camera e CameraBarcode: fotos e leitura de QR/código de barras. No desktop usa a webcam.
Web view no desktopExperimental
WebContainer no desktop, pelo WebView do JavaFX. Android e iOS usam o web view do sistema e não precisam de nada.
CI no GitHub ActionsExperimental
Um workflow que compila cada plataforma escolhida a cada push e pull request, e roda os testes quando houver.
Testes unitários (JUnit 5)
JUnit 5 no módulo core, com um primeiro teste. Rode com gradlew core:test.
Localização (GPS)
dev.crossfly.device.Location: posição avulsa e rastreamento contínuo, com as permissões que cada sistema exige.
Mapas
dev.crossfly.map: OpenStreetMap sem chave, e Google Maps no Android quando você fornece uma chave de API.
Gravação de vídeo no desktopExperimental
crossfly-media: grava vídeo e áudio no desktop via FFmpeg, cujas bibliotecas nativas para todos os sistemas deixam o build do desktop bem maior.
Teste de tela
Abre as telas, toca nelas e compara o layout com uma referência gravada. Rode com gradlew lwjgl3:run -Ptest; sai com 1 quando algo mudou.
Voz para texto
Ditado pelo reconhecedor do sistema no Android e no iOS, e um motor offline no desktop.
CrossFly SyncFeed privado
Sincronização offline-first de um banco SQLite local com o servidor CrossFly Sync, no desktop e no Android.
Texto para voz
Lê texto em voz alta: as vozes do sistema no Android, no iOS e na web, libgdx-tts no desktop.
Mais bibliotecas com o tempo

A lista acima é lida do starter que acompanha o framework. Uma biblioteca entra lá como uma pasta e aparece nesta página na atualização seguinte — inclusive as que esperam um release do CrossFly, que aparecem marcadas com a versão de que precisam.

Ler a documentação Ver os exemplos rodando