▸ Primeiros passosInstalação e requisitosQuickstart: Hello World em ~10 minSeu primeiro app (guiado, ponta a ponta)Anatomia de um projetoTour panorâmico do CrossFly▸ Aprender — Fundamentos do CrossFlyO panorama do CrossFlyJanelas e navegaçãoPensando em componentesLayoutsEstilos e temasLidando com entradaGerenciando estadoCarregando dadosPersistindo dadosDeixando responsivoTestando seu appPublicando▸ Conceitos — Entendendo o CrossFlyA arquitetura em camadasTudo é um ComponentO pipeline de renderizaçãoA paint threadLayout e o modelo RelativeEstilos e temasO ciclo de vidaEstado e fluxo de dados▸ UI — Construir a interfaceLayouts · EvenlySpacedLayoutLayouts · GridLayoutLayouts · HorizontalLayoutLayouts · RandomLayoutLayouts · RelativeLayoutLayouts · ResponsividadeLayouts · VerticalLayoutNavegação · A pilha de janelasNavegação · Diálogos e modaisNavegação · Navegar entre telasNavegação · Retornar valores de uma telaFormulários e entrada · Áreas de textoFormulários e entrada · Campos de textoFormulários e entrada · Foco e validaçãoFormulários e entrada · Máscaras e tecladosTemas e estilos · Esquemas de coresTemas e estilos · Estilizar componentesTemas e estilos · Modo claro/escuroTemas e estilos · Skins (Material / iOS / Flutter)Animações e transições · Animações de valorAnimações e transições · Toque e feedbackAnimações e transições · Transições de telaImagens e gráficos · Desenho customizadoImagens e gráficos · ImagensImagens e gráficos · WhiteboardCatálogo de Componentes · ActionSheetCatálogo de Componentes · AlertCatálogo de Componentes · BarcodePickerCatálogo de Componentes · ButtonCatálogo de Componentes · Charts (ChartView)Catálogo de Componentes · ColorPickerCatálogo de Componentes · DatePickerCatálogo de Componentes · DropdownCatálogo de Componentes · Espaçamento (Gap)Catálogo de Componentes · FilePickerCatálogo de Componentes · GroupCatálogo de Componentes · HintCatálogo de Componentes · ImageViewCatálogo de Componentes · KeypadCatálogo de Componentes · LabelCatálogo de Componentes · LabelItem e CheckLabelItemCatálogo de Componentes · ListViewCatálogo de Componentes · ListViewWindowCatálogo de Componentes · LocationPickerCatálogo de Componentes · LocationViewCatálogo de Componentes · OptionCatálogo de Componentes · PagedDataAdapterCatálogo de Componentes · PhotoPickerCatálogo de Componentes · Picker (classe base)Catálogo de Componentes · ProgressCatálogo de Componentes · SliderCatálogo de Componentes · SwitchCatálogo de Componentes · TabBarCatálogo de Componentes · TextAreaCatálogo de Componentes · TextFieldCatálogo de Componentes · TextInputCatálogo de Componentes · TimePickerCatálogo de Componentes · VirtualListViewCatálogo de Componentes · WebContainerCatálogo de Componentes · Whiteboard▸ Dados e serviçosGerência de estadoPersistência com SQLiteArquivos e "preferências"Rede e HTTPCâmera e código de barrasLocalização e GPSBluetooth BLE / GATTBiometriaSom e utilidades de dispositivoMapasTrabalho em background▸ ReceitasReceitas · UI · Como abrir um menu de ações (ActionSheet)Receitas · UI · Como colocar um badge no canto de um avatarReceitas · UI · Como criar abas (TabBar)Receitas · UI · Como criar um card clicávelReceitas · UI · Como mostrar spinner e barra de progresso (Progress)Receitas · UI · Como mostrar um Hint (toast)Receitas · UI · Como pedir confirmação com AlertReceitas · UI · Como usar checkbox e radio (Option e Group)Receitas · UI · Como usar um Dropdown de seleçãoReceitas · Formulários · Como abrir um teclado numéricoReceitas · Formulários · Como aplicar máscara de CPF, CEP ou dataReceitas · Formulários · Como criar um campo de data ou hora com pickerReceitas · Formulários · Como criar um campo de moedaReceitas · Formulários · Como criar um campo de senha com mostrar/ocultarReceitas · Formulários · Como montar um formulário responsivo rótulo:campoReceitas · Formulários · Como validar um campo de textoReceitas · Listas · Como exibir um popup de seleção modalReceitas · Listas · Como exibir uma lista virtual com milhares de itensReceitas · Listas · Como fazer uma lista simples selecionávelReceitas · Listas · Como implementar carregar-mais (scroll infinito)Receitas · Listas · Como paginar dados de servidor em uma lista virtualReceitas · Listas · Como tornar um Component rolável e ajustar o overscrollReceitas · Navegação · Como abrir e fechar uma telaReceitas · Navegação · Como centralizar a navegação num controllerReceitas · Navegação · Como pedir confirmação antes de uma ação destrutivaReceitas · Navegação · Como receber um resultado de uma telaReceitas · Dispositivo · Como autenticar com biometria (digital / Face ID)Receitas · Dispositivo · Como deixar o usuário escolher um local no mapaReceitas · Dispositivo · Como escanear e conectar a um dispositivo Bluetooth (BLE)Receitas · Dispositivo · Como gravar um vídeo com áudio e limite de tempoReceitas · Dispositivo · Como ler um QR Code ou código de barrasReceitas · Dispositivo · Como obter a posição GPS (latitude/longitude)Receitas · Dispositivo · Como tirar uma foto e obter o caminho do arquivoReceitas · Dispositivo · Como usar Text-to-Speech (TTS) e Speech-to-Text (STT)Receitas · Dispositivo · Como vibrar, emitir beep e usar a área de transferênciaReceitas · Imagens · Como capturar um screenshot da telaReceitas · Imagens · Como carregar uma imagem de arquivo ou da redeReceitas · Imagens · Como definir uma imagem de fundo em um ComponentReceitas · Imagens · Como gerar um thumbnail (miniatura)Receitas · Imagens · Como salvar uma imagem em PNG ou JPEGReceitas · Animações · Como aplicar uma transição ao abrir/fechar uma telaReceitas · Animações · Como criar um pulso contínuo (loop)Receitas · Animações · Como fazer fade (aparecer/desaparecer) de um componenteReceitas · Animações · Como mover um componente animando sua posiçãoReceitas · Dados · Como abrir ou criar um banco SQLiteReceitas · Dados · Como acessar o banco fora da paint threadReceitas · Dados · Como escrever em massa com transação e bulkInsertReceitas · Dados · Como fazer CRUD parametrizado no SQLiteReceitas · Dados · Como usar um banco SQLite criptografado▸ Boas PráticasAcessibilidade (a11y)Arquitetura de app (MVVM, repositório, service locator)Internacionalização (i18n)Performance e listas grandesResponsividade: uma UI para todas as telasSegurançaTestes automatizados de UITratamento de erros e logging▸ Plataformas — construir, rodar e publicarMatriz de plataformas e recursosDesktop (Windows/macOS/Linux) com LWJGL3AndroidiOS / iPadOS com RoboVMWeb (TeaVM/WebGL) e suas limitações reaisIntegração nativa (PlatformUtils, JNI, crossfly-lib)Build, assinatura e distribuição▸ Migrar para o CrossFly — vindo de outro frameworkFilosofia: CrossFly vs. declarativo-reativoVindo do FlutterVindo do Jetpack ComposeVindo do SwiftUIVindo do React NativeVindo do TotalCross / SuperWaba▸ ReferênciaComo a referência é organizadaÍndice de APICatálogo de widgetsEnums e constantes de UIConstantsFolhas de colaGlossário▸ RecursosApps de amostra executáveisAmostras e tutoriaisVídeosComunidade e suporteChangelog / What's newRoadmapContribuindo▸ FAQFAQ — Perguntas Frequentes▸ Solução de problemasErros de compilação (APIs removidas/renomeadas 2026)Erros de runtimeProblemas de renderizaçãoBuild e GradleEspecíficos por plataformaDocs FAQ FAQFAQRespostas curtas às perguntas frequentes do CrossFly, cada uma com link para a página canônica.ReferênciaFAQ — Perguntas FrequentesRespostas curtas às dúvidas mais comuns do CrossFly, cada uma com link para a página canônica.