Desenvolver nativo ou híbrido? Há dez anos a resposta era quase sempre "nativo", porque os apps híbridos eram lentos e pareciam sites embrulhados. Hoje os frameworks multiplataforma amadureceram tanto que bancos, varejistas e redes sociais usam essa abordagem em produção. Neste guia eu explico a diferença real entre as opções, quanto cada uma custa e como decidir para o seu projeto.
Os três caminhos
App nativo
Um aplicativo escrito especificamente para cada sistema: Swift para iOS e Kotlin para Android. São dois códigos, geralmente duas equipes, e acesso direto a tudo que o sistema operacional oferece no dia em que é lançado.
App multiplataforma (o "híbrido" moderno)
Um código só, que gera os apps de iOS e Android:
- Flutter (Google, linguagem Dart): desenha a própria interface, então o app fica idêntico nas duas plataformas. Usado por empresas como o Nubank.
- React Native (Meta, JavaScript/TypeScript): usa componentes nativos do sistema por trás. Usado em partes de apps como Instagram e Shopify.
- Kotlin Multiplatform: compartilha a lógica de negócio e deixa a interface nativa em cada sistema. Bom meio-termo para equipes que já trabalham com Android.
Vale separar do híbrido antigo (Cordova, Ionic nas primeiras versões), que rodava um site dentro de um navegador embutido. É dele que vem a fama de "app lento".
PWA (Progressive Web App)
Um site que se comporta como app: pode ser instalado na tela inicial, funciona parcialmente offline e envia notificações. Não passa por loja de aplicativos. Ótimo para sistemas internos e MVPs; limitado quando o app depende muito de recursos do aparelho, especialmente no iPhone.
Comparativo
| Critério | Nativo | Multiplataforma | PWA |
|---|---|---|---|
| Bases de código | 2 | 1 | 1 (web) |
| Custo relativo (iOS + Android) | 1,8x a 2x | 1x | 0,5x a 0,7x |
| Desempenho | Máximo | Muito próximo do nativo na maioria dos apps | Bom para formulários e conteúdo |
| Acesso a recursos do aparelho | Total e imediato | Quase total (via plugins ou código nativo pontual) | Limitado |
| Publicação nas lojas | Sim | Sim | Não (instalação pelo navegador) |
| Manutenção | Duas equipes ou dois esforços | Uma equipe | Uma equipe web |
Desempenho: a diferença ainda importa?
Para a grande maioria dos aplicativos de negócio (cadastro, listagem, agendamento, pagamento, chat, delivery), o usuário não percebe diferença entre um app Flutter ou React Native bem feito e um nativo. O gargalo de desempenho nesses apps costuma ser a API lenta ou imagens pesadas, não o framework.
A diferença aparece em casos específicos:
- jogos com gráficos 3D pesados;
- realidade aumentada e processamento de câmera em tempo real;
- apps que rodam tarefas pesadas em segundo plano por longos períodos;
- integrações com hardware muito específico (equipamentos médicos, leitores industriais).
Quanto custa cada abordagem
Para um app de complexidade média (login, cadastro, listagem, pagamento e notificações), valores de referência no mercado brasileiro:
| Abordagem | Desenvolvimento | Manutenção mensal |
|---|---|---|
| PWA | R$ 15.000 a R$ 35.000 | R$ 500 a R$ 1.500 |
| Multiplataforma | R$ 30.000 a R$ 70.000 | R$ 1.000 a R$ 3.000 |
| Nativo (iOS + Android) | R$ 55.000 a R$ 130.000 | R$ 2.000 a R$ 6.000 |
O custo de manutenção é o que mais pesa no longo prazo: no nativo, cada nova funcionalidade é desenvolvida e testada duas vezes. Veja o detalhamento em quanto custa desenvolver um app.
Como decidir
Escolha nativo quando
- o produto é um jogo ou depende de gráficos e câmera em tempo real;
- o app precisa usar recursos do sistema assim que são lançados;
- a empresa já tem (ou pode manter) equipes separadas de iOS e Android.
Escolha multiplataforma quando
- é um app de negócio, serviço ou e-commerce;
- você precisa estar nas duas lojas com orçamento de uma;
- é um MVP e a velocidade de lançamento importa (veja como criar o MVP do seu app).
Escolha PWA quando
- o público é interno (equipe de vendas, operação);
- o objetivo é validar a ideia antes de investir em app de loja;
- o uso é esporádico e o cliente não baixaria um app para isso.
Flutter ou React Native?
As duas são escolhas seguras. O critério mais prático é a equipe:
- Já tem desenvolvedores JavaScript/React? React Native aproveita o conhecimento e parte do código da versão web.
- Começando do zero ou quer visual idêntico nas duas plataformas? Flutter tende a entregar interfaces consistentes com menos ajustes por sistema.
Na maioria dos projetos que desenvolvo, Flutter é minha escolha padrão pela previsibilidade visual e pela produtividade.
Erros comuns na escolha
- Escolher nativo "por garantia": dobra o custo sem benefício perceptível para o usuário.
- Escolher pela tecnologia da moda: o que importa é quem vai manter o app daqui a dois anos.
- Ignorar o back-end: o app é só a ponta. API, banco de dados e painel administrativo costumam representar metade do projeto.
- Esquecer as lojas: conta de desenvolvedor Apple (US$ 99/ano), Google Play (US$ 25 uma vez) e as regras de revisão, que podem atrasar o lançamento.
FAQ
Não. A Apple avalia o app pelo que ele faz e pela experiência, não pelo framework. Apps em Flutter e React Native são aprovados normalmente quando seguem as diretrizes.
Dá, e também é possível misturar: manter o app em Flutter ou React Native e escrever em nativo só a tela ou o recurso que exige. Reescrever tudo raramente é necessário.
Não diretamente. A Google Play aceita PWAs empacotadas, mas na App Store o caminho é um app de verdade. Se estar na loja da Apple é requisito, vá de multiplataforma.
Quer desenvolver um app?
Ajudo a escolher a tecnologia certa para o seu orçamento e a desenvolver o app.
Falar no WhatsApp