Saltar para o conteúdo

Odduel

We put the odds in your favour

Insights

Apps nativas vs multiplataforma: Flutter, React Native ou nativo

Nativo vs multiplataforma comparado em projetos reais de apps: Swift e Kotlin, Flutter, React Native, Kotlin Multiplatform e PWA lado a lado, quando cada um ganha e como decidir.

Três iPhone de pé sobre vermelho, cada um com uma página do website do Nothing To Eat

Apps nativas vs multiplataforma é a escolha entre escrever uma app separada para iPhone e para Android, cada uma na linguagem da sua plataforma, ou escrever a maior parte da app uma vez e pô-la a correr nas duas com uma framework como o Flutter ou o React Native. O nativo dá o melhor encaixe em cada dispositivo e o acesso mais cedo às novas funcionalidades; o multiplataforma dá uma base de código partilhada, um caminho mais rápido para as duas lojas e, normalmente, um custo de alteração mais baixo. Este guia define cada opção, compara cinco abordagens lado a lado, mostra quando cada uma ganha e termina com um método de decisão e o efeito no custo e na manutenção.

Última atualização: 26 de outubro de 2026.

O que significam, ao certo, nativo e multiplataforma?

As palavras usam-se com pouco rigor, por isso convém fixá-las antes de comparar o que quer que seja. A pergunta de fundo é sempre a mesma: quanto da app se escreve uma vez, e quanto se escreve por plataforma.

Apps nativas

Uma app nativa constrói-se com as ferramentas que o dono de cada plataforma disponibiliza: Swift e SwiftUI no Xcode para iPhone e iPad, documentados no site para programadores da Apple, e Kotlin com Jetpack Compose no Android Studio para Android. Duas bases de código, dois conjuntos de competências, e cada uma fala diretamente com o seu sistema operativo, sem camada intermédia.

Apps multiplataforma

Uma app multiplataforma partilha a maior parte do código entre iOS e Android. As duas frameworks de que as empresas mais ouvem falar seguem caminhos diferentes. O Flutter, da Google, desenha ele próprio cada píxel da interface com o seu motor de renderização e escreve-se em Dart. O React Native, da Meta, escreve-se em JavaScript ou TypeScript e apresenta componentes reais da plataforma, por isso um botão é o botão do próprio sistema. Ambos permitem descer ao código nativo quando uma funcionalidade o exige.

As duas opções intermédias

O Kotlin Multiplatform partilha a lógica (dados, chamadas ao servidor, regras de negócio) em Kotlin e deixa a interface nativa em cada lado, ou partilha-a também com o Compose Multiplatform. Uma progressive web app (PWA) é um website que se instala no ecrã principal, funciona sem ligação e pode enviar notificações, sem passar por nenhuma loja de apps. As duas entram na comparação porque, em muitos projetos, são a melhor resposta.

Em resumo: nativo significa duas apps escritas para duas plataformas. Multiplataforma significa uma app, uma linguagem principal e uma framework a fazer a tradução. O Kotlin Multiplatform partilha o motor e mantém ecrãs nativos. Uma PWA dispensa as lojas por completo. Nenhuma é a certa para todos os projetos.

Porque é que esta escolha importa mais do que a guerra dos frameworks?

A maioria dos artigos sobre Flutter vs React Native lê-se como uma competição. Para uma empresa, a pergunta mais útil é o que a app tem de fazer nos primeiros dois anos, quem a vai manter e com que frequência tem de mudar. A framework decorre dessas respostas.

Na Odduel, uma agência de criatividade e tecnologia em Barcelona e São Paulo, começamos cada projeto de desenvolvimento de aplicações por essa pergunta, e não por uma tecnologia preferida. Se ainda está a dar forma à primeira versão, o nosso guia de desenvolvimento de MVP explica como reduzir o âmbito antes de escolher a tecnologia, o que muitas vezes resolve a questão por si só.

Nativo vs multiplataforma lado a lado

A tabela compara as cinco abordagens nos pontos que uma empresa sente quando a app já está publicada. Descreve o comportamento típico; uma app bem construída em qualquer coluna pode superar uma mal construída noutra.

Nativo (Swift / Kotlin)FlutterReact NativeKotlin MultiplatformPWA
DesempenhoO melhor; acesso direto ao sistemaMuito próximo do nativo; motor de renderização próprioPróximo do nativo na maioria das apps; animação pesada exige cuidadoInterface nativa, lógica partilhada à velocidade nativaBom para conteúdos e formulários; limitado em gráficos pesados
Fidelidade da interfaceAspeto e comportamento exatos da plataformaIdêntico ao píxel nas duas plataformas; a sensação da plataforma tem de ser construídaUsa componentes reais da plataformaEcrãs totalmente nativos (ou partilhados com Compose)Aspeto web; parece um site se não for desenhada com cuidado
Funcionalidades do dispositivoTodas, desde o primeiro dia de cada nova versão do sistemaA maioria através de plugins; as novidades chegam com as atualizações dos pluginsA maioria através de módulos; as novidades chegam com as atualizações dos módulosTodas, do lado nativoRestritas; variam com o browser e a plataforma
Partilha de códigoNenhuma entre plataformasA maior parte da app, interface incluídaA maior parte da app; pode partilhar lógica com uma app webLógica partilhada, interface opcionalUma base de código para todos os dispositivos e o computador
Competências da equipaDuas especialidades: iOS e AndroidDart e FlutterJavaScript ou TypeScript, próximo das equipas webKotlin, mais conhecimento de iOS para a interfaceDesenvolvimento web
ManutençãoDuas bases de código a atualizar em cada alteraçãoUma base de código; atualizações da framework a acompanharUma base de código; as atualizações de dependências exigem disciplinaNúcleo partilhado, duas interfaces finasUma base de código, sem revisão das lojas
Lojas de appsSimSimSimSimNão (presença opcional em algumas lojas)
Nativo, Flutter, React Native, Kotlin Multiplatform e PWA comparados nos pontos que importam depois do lançamento

A tabela esconde um ponto que vale a pena dizer em voz alta: a distância entre o nativo e um bom multiplataforma diminuiu muito. Na maioria das apps de empresa, os utilizadores não conseguem perceber que abordagem foi usada. A diferença nota-se nos extremos: hardware novo, gráficos pesados, integração profunda com o sistema e a longa cauda da manutenção.

Um iPhone dobrável aberto com dois painéis lado a lado, o tipo de nova funcionalidade do dispositivo a que o código nativo chega primeiro

Quando compensa o nativo?

O nativo é a escolha certa quando o valor da app depende do próprio dispositivo. Escolha-o quando:

  • a app depende de hardware novo ou invulgar: câmaras com processamento à medida, sensores, dados de saúde, realidade aumentada, wearables ou acessórios Bluetooth;
  • a app tem de adotar cada nova funcionalidade do sistema operativo no dia em que sai, como widgets, atividades em direto ou novos formatos de ecrã;
  • o desempenho é o produto: áudio ou vídeo em tempo real, jogos, mapas com muito desenho;
  • a app vive sobretudo numa plataforma, pelo que a segunda base de código é pequena ou ainda não é precisa.

Os novos formatos de dispositivo são um bom teste. Quando a Apple apresenta um novo formato de ecrã, as apps nativas podem responder assim que as ferramentas saem, enquanto as frameworks acompanham quando chega o seu próprio suporte. Analisámos esse caso em pormenor em Apps para iPhone Duo: o que muda com o iPhone dobrável.

Quando compensa o Flutter?

O Flutter serve apps em que o aspeto da marca importa mais do que as convenções da plataforma, e em que a mesma interface deve aparecer igual nos dois telemóveis. Como desenha a sua própria interface, um sistema de design à medida, animações próprias e uma identidade visual forte passam para todos os ecrãs sem adaptação. Também chega à web e ao computador com o mesmo código, o que ajuda em ferramentas internas e painéis de gestão. A contrapartida é que a sensação da plataforma (física do scroll, menus do sistema, detalhes de acessibilidade) tem de ser verificada deliberadamente em cada lado. A documentação oficial está em flutter.dev.

Quando compensa o React Native?

O React Native serve empresas que já têm programadores web a trabalhar em JavaScript ou TypeScript, ou um website em React cuja lógica e cujas pessoas podem ser partilhadas com a app. Como usa os componentes da própria plataforma, tende a sentir-se em casa em cada telemóvel sem trabalho extra. As atualizações over-the-air da camada JavaScript podem encurtar o caminho de pequenas correções, dentro das regras das lojas. A contrapartida é um conjunto maior de dependências de terceiros a manter atualizadas. A documentação do projeto está em reactnative.dev.

Quando compensa o Kotlin Multiplatform?

O Kotlin Multiplatform serve equipas que querem ecrãs nativos mas recusam escrever duas vezes as mesmas regras de negócio. Encaixa em apps com lógica complexa (preços, sincronização offline, reservas, cálculos financeiros), em que um erro corrigido uma vez deve ficar corrigido em todo o lado, e serve uma app Android existente que vai ganhar versão iOS. A interface continua totalmente nativa, por isso custa mais do que Flutter ou React Native nos ecrãs, e menos do que duas apps nativas separadas no conjunto.

Quando é que uma aplicação web progressiva é suficiente?

Uma PWA basta quando a app é sobretudo conteúdos, formulários, encomendas ou gestão de conta, e quando o verdadeiro obstáculo é levar as pessoas a instalar alguma coisa. Partilha uma base de código com o website, atualiza-se no momento em que publica e não precisa de revisão das lojas. Os seus limites são o acesso às funcionalidades do dispositivo, as tarefas em segundo plano e o comportamento das notificações push, que diferem com o browser e a plataforma. Muitos produtos começam como um website móvel bem construído, provam a sua utilidade e só depois justificam uma app nas lojas.

O website da Nothing To Eat num telemóvel na mão, uma experiência web móvel que dispensa a loja de apps

Como decidir entre nativo e multiplataforma?

Os passos abaixo são os que seguimos com os clientes. Pedem um workshop curto, não um projeto de investigação.

  1. Liste o que a app tem de fazer na primeira versão e no ano seguinte. Assinale cada funcionalidade que toca no dispositivo: câmara, localização, notificações, pagamentos, sensores, uso offline.
  2. Assinale as funcionalidades novas ou específicas de uma plataforma. Se várias estiverem no centro do produto, o nativo ou o Kotlin Multiplatform sobem na lista.
  3. Decida quanto o design tem de seguir cada plataforma. Uma identidade própria forte aponta para o Flutter; uma sensação familiar da plataforma aponta para o React Native ou o nativo.
  4. Veja quem a vai manter. Uma equipa web interna aponta para o React Native ou uma PWA; uma equipa Android aponta para o Kotlin Multiplatform; um parceiro externo deve indicar as pessoas e o plano.
  5. Verifique se precisa mesmo das lojas. Se a resposta for “ainda não”, uma PWA pode ser o primeiro passo.
  6. Construa um ecrã arriscado como teste. Uma prova técnica curta sobre a funcionalidade mais difícil diz-lhe mais do que qualquer tabela.
  7. Registe a decisão por escrito, com as razões. A próxima pessoa a alterar a app precisa de saber porque foi construída assim.

A forma de conduzir o desenvolvimento importa tanto como a tecnologia. A nossa comparação Ágil vs waterfall em projetos de apps e websites explica porque é que as apps costumam pedir uma fase de descoberta fixa seguida de ciclos curtos de desenvolvimento.

O que muda em custos e manutenção?

O custo segue a quantidade de trabalho, e as abordagens mudam esse trabalho de sítio em vez de o eliminarem. Não publicamos intervalos de preços, porque dependem do briefing; um orçamento fechado segue-se a um briefing curto. O que podemos dizer é para onde vai o dinheiro.

A construção

Duas apps nativas significam duas interfaces construídas, dois conjuntos de testes e, normalmente, dois especialistas. O multiplataforma partilha a maior parte disso, por isso o desenvolvimento costuma ser a rubrica menor, embora o acabamento específico de cada plataforma e os módulos nativos continuem a levar tempo. O Kotlin Multiplatform fica entre os dois. Uma PWA é normalmente o desenvolvimento mais pequeno, porque estende o website.

Os anos depois do lançamento

É na manutenção que a escolha se nota de verdade. Cada nova versão do sistema operativo, cada mudança nas regras das lojas e cada atualização de segurança têm de ser absorvidas. Nativo significa fazê-lo duas vezes; multiplataforma significa fazê-lo uma vez, mais acompanhar as atualizações da própria framework; uma PWA significa acompanhar os browsers. Ao longo da vida de uma app, a manutenção ultrapassa muitas vezes o primeiro desenvolvimento, por isso pergunte em cada orçamento como são tratadas as atualizações, as migrações e as submissões às lojas.

Como ler um orçamento

Um bom orçamento indica a abordagem e porque foi escolhida, separa design, desenvolvimento, testes e publicação nas lojas, e diz o que o suporte cobre depois do lançamento. Se dois orçamentos forem muito diferentes, verifique se um inclui as duas plataformas, testes de acessibilidade e um plano de manutenção e o outro não.

Perguntas frequentes

O nativo é sempre mais rápido do que o multiplataforma?

O nativo tem o acesso mais direto ao dispositivo, por isso define o teto do desempenho. Na prática, as apps em Flutter e React Native correm com fluidez na maioria dos usos empresariais, como listas, formulários, encomendas e contas. A diferença nota-se em gráficos pesados, multimédia em tempo real e animações complexas, onde o nativo ou uma otimização cuidadosa compensam o trabalho extra.

Flutter vs React Native: qual escolher?

Escolha o Flutter quando um design próprio forte tiver de ser idêntico nas duas plataformas e não se importar de trabalhar em Dart. Escolha o React Native quando tiver programadores de JavaScript ou TypeScript, um website em React com o qual partilhar lógica, ou quiser os componentes próprios de cada plataforma. Ambos são maduros, muito usados e capazes de chamar código nativo.

Posso passar de multiplataforma para nativo mais tarde?

Sim, mas normalmente é reescrever a interface, não migrá-la. A lógica de negócio, o design, os conteúdos e os serviços de back-end passam; os ecrãs não. Um caminho comum é lançar em multiplataforma, perceber o que os utilizadores precisam de facto e reconstruir apenas as partes que exigem desempenho nativo ou acesso ao dispositivo.

A Apple e a Google aceitam apps multiplataforma?

Sim. As duas lojas aceitam apps feitas com Flutter, React Native e Kotlin Multiplatform, e avaliam-nas pelas mesmas regras de revisão que as apps nativas. O que conta é que a app se comporte bem, respeite as regras de privacidade e ofereça valor real. Um invólucro fino à volta de um website, sem funcionalidades próprias de uma app, tem mais probabilidade de ser rejeitado.

Uma PWA é uma verdadeira alternativa a uma app?

Para conteúdos, encomendas, reservas e ferramentas de conta, muitas vezes sim: instala-se no ecrã principal, funciona sem ligação e custa uma só base de código. É mais fraca no acesso profundo ao dispositivo, no trabalho em segundo plano e em alguns comportamentos das notificações, que variam com o browser e a plataforma. É um primeiro passo sensato quando não tem a certeza de que precisa de estar nas lojas de apps.

Se está a pesar o nativo contra o multiplataforma para um novo produto ou uma reconstrução, o caminho mais rápido é um briefing curto: o que a app tem de fazer, quem a vai manter e quando tem de estar nas mãos das pessoas. Dizemos-lhe que abordagem encaixa, e porquê, no âmbito do nosso trabalho de desenvolvimento de aplicações. Fale connosco sobre a sua app.

Mais artigos

Mais dos nossos Insights.

Ver todos os artigos

Fale connosco

A vantagem do seu lado.

A vantagem não aparece sozinha. Se tem algo para construir, lançar ou corrigir, fale-nos disso e mostramos-lhe como o abordaríamos.

    Precisa de um acordo de confidencialidade (NDA) antes de partilhar detalhes? Iniciar um projeto

    Fale connosco