Artigos
React Native ou desenvolvimento nativo?
A pergunta certa não é qual tecnologia é melhor, e sim o que o seu aplicativo precisa fazer. Este texto separa os casos em que cada caminho vale, incluindo aqueles em que React Native não é a resposta.
6 min de leitura
A AC Alcateia desenvolve aplicativos em React Native, então tem um lado nessa discussão. Por isso vale começar pelo que costuma ser esquecido: a escolha da tecnologia raramente decide o sucesso do aplicativo. Escopo mal recortado afunda projeto em qualquer stack.
O que muda na prática
Desenvolvimento nativo significa escrever o aplicativo duas vezes: uma para Android, outra para iOS, cada uma com sua linguagem, suas ferramentas e seu time. React Native significa uma base de código em TypeScript que roda nos dois sistemas, usando componentes nativos de verdade na tela e descendo para código nativo quando alguma funcionalidade exige.
A consequência prática aparece na manutenção. Com duas bases, cada correção é feita duas vezes e as plataformas tendem a se desencontrar: uma recebe a funcionalidade nova antes da outra, e a diferença vira suporte. Com uma base, a correção é uma só.
Quando React Native é a escolha certa
- Aplicativos corporativos e de operação: coleta em campo, conferência, ordens de serviço, aprovação de processos.
- Produtos de serviço: agendamento, pedidos, acompanhamento, área do cliente, fidelidade.
- Aplicativos ligados a um sistema web que já existe e que precisam compartilhar regras e identidade visual.
- Primeiras versões e MVPs, em que chegar ao usuário rápido vale mais do que otimizar o que ainda não foi validado.
- Times pequenos: uma base de código é a diferença entre manter o produto e não conseguir.
Quando o nativo compensa
- Jogos e aplicativos com gráficos pesados ou animação intensa quadro a quadro.
- Edição avançada de vídeo, áudio ou imagem, com processamento contínuo no aparelho.
- Uso intenso de recursos muito específicos de cada plataforma, como integrações profundas com o sistema, widgets complexos ou acessórios pouco comuns.
- Empresas que já têm dois times nativos maduros: trocar a stack aí é custo, não economia.
O meio do caminho que pouca gente menciona
React Native não é uma caixa fechada. Quando uma funcionalidade precisa de algo que a biblioteca não entrega, dá para escrever o módulo nativo em Kotlin ou Swift e usá-lo a partir do TypeScript, inclusive com os módulos da arquitetura atual do React Native. Ou seja: a decisão não é "tudo ou nada", e sim onde vale gastar código nativo.
E o Flutter?
Flutter resolve o mesmo problema por outro caminho e é uma escolha legítima. A diferença mais prática para a maioria das empresas é o ecossistema em volta: se o seu time já trabalha com React na web, o React Native aproveita conhecimento, bibliotecas e até parte do código de regras de negócio. Se não há nada disso, a comparação fica mais equilibrada e passa a depender de quem vai manter o aplicativo depois.
Como decidir em cinco perguntas
- O aplicativo depende de desempenho gráfico contínuo? Se sim, considere o nativo.
- Existe um sistema web que compartilha regras com ele? Se sim, uma base React e React Native economiza duas vezes.
- Quantas pessoas vão manter isso daqui a um ano? Quanto menor o time, mais pesa uma base só.
- Qual a urgência de estar nas duas lojas ao mesmo tempo? Uma base única entrega as duas juntas.
- Que recursos do aparelho são essenciais? Liste-os antes de escolher: é aí que aparecem as exceções.
Perguntas frequentes
Aplicativo em React Native fica lento?
Aplicativo fica lento por decisões ruins, não por causa do React Native. Na prática, travamentos costumam vir de lista mal construída, dado buscado na hora errada ou imagem sem otimização, problemas que existem igualmente no nativo. Para o tipo de aplicativo de que a maioria das empresas precisa, a diferença de desempenho não é perceptível para quem usa.
Dá para publicar nas duas lojas com React Native?
Sim. O aplicativo é publicado normalmente na App Store e no Google Play, seguindo as mesmas regras e revisões de qualquer outro app. A revisão da Apple avalia o que o aplicativo faz, não a tecnologia usada.
Dá para migrar um app nativo para React Native aos poucos?
Sim. Telas novas em React Native podem conviver com um aplicativo nativo existente. Vale quando o objetivo é parar de manter duas bases divergentes, mas não é automático: exige avaliar o que existe antes de prometer prazo.
Continue lendo
- Desenvolvimento de aplicativos
O serviço, do recorte à publicação nas lojas.
- Quanto custa desenvolver um aplicativo?
O que muda o preço de um projeto.
- Cases
Projetos publicados pela AC Alcateia.
Solicitar orçamento
Quer aplicar isso ao seu projeto?
Conte o que o aplicativo precisa fazer. A primeira conversa é sem custo.