Comparação: React Native vs Native App Development
Publicados: 2021-10-05A estrutura React Native RoR pode competir com o desenvolvimento de aplicativos nativos ?
Na verdade, é um daqueles aplicativos híbridos sobre os quais ouvimos tantas opiniões atualmente. Existem muitas ferramentas de desenvolvimento de plataforma cruzada, mas aquela a que prestamos atenção neste texto é a estrutura React Native RoR. O React é nativo nativo? Vamos investigar o assunto então.
Por mais multiopcional que nosso mundo tenha se tornado agora, podemos tomar cerca de 3.500 decisões por dia, e isso não é nem mesmo o auge. Esse fator multi opcional também afetou o mundo do desenvolvimento nativo para iOS (e Android) - há várias maneiras de construir um aplicativo. Você pode ter seu aplicativo em diferentes plataformas, pode ser web ou móvel, nativo ou multiplataforma, tudo pode ser descoberto dependendo de suas necessidades e valores. Tentaremos destacar os prós e os contras de cada caso.
Os caminhos mais conhecidos e percorridos de desenvolvimento de aplicativos são os nativos e multiplataforma. O desenvolvimento de aplicativos nativos funciona muito para dispositivos móveis e é um tipo oficial de desenvolvimento para uma finalidade específica (iOS ou Android), dentro de um IDE específico ( XCode ou Android Studio ) e em uma determinada linguagem ( Kotlin / Java para Android, Swift / Objective-C para iOS ).
O segundo tipo de aplicativo desenvolvido é denominado híbrido. Qual é a diferença entre plataforma cruzada (ig React Native) e desenvolvimento de aplicativo nativo? O desenvolvimento de aplicativos de plataforma cruzada é um pouco diferente do nativo, pois na maioria dos casos inclui uma estrutura de código aberto que mistura os conceitos de desenvolvimento móvel e web, e muitas vezes é escrito em Java Script, embora um resultado final acabe ser um arquivo de aplicativo "semelhante ao nativo". A rivalidade “aplicativos nativos vs. aplicativos híbridos” está atingindo seu meridiano atualmente.
Embora tudo esteja claro com plataformas e linguagens "nativas", os aplicativos híbridos têm uma classificação mais ampla. As estruturas JS de plataforma cruzada mais comumente usadas são as seguintes:
- Estrutura Ionic 3
- Xamarin
- Cordova (antigo PhoneGap)
- Estrutura de RoR nativo do React
Hoje, por que escolher aplicativos híbridos e em qual estrutura construí-los? O que escolher - React Native vs Ionic? Xamarin vs React Native? Uma das estruturas mais usadas para o desenvolvimento de aplicativos de plataforma cruzada é React Native , mas o que faz as pessoas usá-lo? Tentei investigar o assunto.
Reaja mais rápido.
[Fonte da imagem: Facebook React Native]
Aposto que você reconheceu cada um desses ícones. Todos eles (no passado, ou mesmo atualmente) foram ou são construídos usando o React Native. Por falar nisso, a empresa Facebook é basicamente proprietária e promotora ativa do desenvolvimento de aplicativos React Native. No entanto, a própria empresa nega ser uma “ferramenta para aplicativos híbridos”. Como eles afirmam em seu desembarque oficial,
“Com o React Native, você não constrói um“ aplicativo da web móvel ”, um“ aplicativo HTML5 ”ou um“ aplicativo híbrido ”. Você constrói um aplicativo móvel real que é indistinguível de um aplicativo desenvolvido usando Objective-C ou Java. O React Native usa os mesmos blocos de construção fundamentais da IU que os aplicativos iOS e Android regulares. Você acabou de colocar esses blocos de construção juntos usando JavaScript e React. ”
[Fonte: Facebook Github]
Mas o React Native realmente balança contra o desenvolvimento de aplicativos nativos? Bem, não inteiramente. Em primeiro lugar, até mesmo o processo de criação de aplicativos é diferente aqui.
Como construir um app nativo react? Embrulhe isso.
O próprio React Native para Android (e iOS) envolve a compilação nativa, onde a ferramenta JS permite que você crie aplicativos de maneira mais fácil. Ele ainda tem uma estrutura simplificada - os componentes se parecem com tags HTML básicas. O código que você escreve no React Native é exclusivo para cada plataforma móvel, mas existem muitas ferramentas universais que podem ser reutilizadas e reaplicadas no iOS ou Android. Além disso, você pode ter alguns destinos de construção, o que me faz chamar de React Native development não apenas uma estrutura de plataforma cruzada, mas também de dispositivo cruzado. Você pode adotar seu aplicativo para iOS, assim como para AppleTV e Mac OS.
Os aplicativos desenvolvidos no React Native não requerem um IDE nativo (XCode ou Android Studio), embora você possa desenvolver usando-os, já que o IDE customizado do Expo - React Native tem menos recursos de depuração para oferecer. O framework RN também não sofisticou a estrutura dos componentes - bastante simples, e se você estiver procurando por um mais complexo, você precisa usar partes nativas do iOS ou Android, embrulhadas em cobertura JS na parte superior (o que é, bastante , bastante confuso). Alguns componentes são vestidos com um , o que o ajuda a colocar vários acessórios nele.
Algumas vantagens que tornam o React Native um negócio saboroso para desenvolvedores de aplicativos multiplataforma em todo o mundo :
1. Requer menos recursos de você.
Como acontece com toda solução de plataforma cruzada, é mais barato e um pouco mais econômico; você não precisa contratar duas equipes de desenvolvimento de aplicativos separadas - você pode ter uma desenvolvendo, mas o resultado cobriria ambas as plataformas, se você quiser. A quantidade de recursos e custos gastos na construção desses aplicativos será, obviamente, significativamente menor do que o desenvolvimento do aplicativo nativo levaria.
2. React Native power está em seus componentes.
Como já foi dito, a lista de componentes aceitáveis para React Native é enorme. Por sua vez, esses componentes certamente poderiam ser reaproveitados em outros projetos, desde que apresentassem algumas semelhanças comuns.
3. Tem uma enorme comunidade.
Quantas pessoas você acha que a comunidade oficial React Native do Facebook tem? No momento em que este artigo foi publicado, o número ultrapassava 23.000. A melhor coisa de fazer parte de uma grande comunidade é um senso de inclusão + capacidade de extrair novos componentes dela. Os componentes que você cria para seus propósitos personalizados podem ser facilmente distribuídos dentro do grupo - e assim você pode encontrar uma solução pronta quando precisar, sem ter que reescrevê-la do zero.
4. É promovido por ...
A corporação do Facebook como um todo já pode ser nomeada como “Branded Brand”, então todo o Facebook-behind-it dá uma vantagem gigantesca para a estrutura React Native (se nós até mesmo pegarmos a comparação Ionic vs React Native). Os usuários confiam que essa rede social é durável o suficiente para representar os produtos que anuncia e afirma confiar.
Um tamanho não serve para todos.
Do outro lado do ringue, onde estão os desenvolvedores de aplicativos nativos, também existem valores e benefícios que você adquire quando paga para "tornar-se nativo".
1. Nativo = mais responsivo.
A capacidade de resposta de uma interface é algo que os designers de UX desejam e se esforçam muito. Quando é um aplicativo nativo, cada tela de design é projetada separadamente e adaptada para as diretrizes das lojas para se adequar ao estilo - plano ou material .
2. Línguas nativas = desenvolvidas oficialmente pelas lojas Apple e Google.
Native App Store e Google Play aceitam os aplicativos construídos nas linguagens desenvolvidas e suportadas pelas plataformas. Se você seguir as orientações - sua escada para a loja está pronta. Com um aplicativo de plataforma cruzada, você ainda tem chance de aceitar, mas é bem provável que seja rejeitado por apenas um pouco de interface ou navegação "webbish".
3. "Need For Speed".
Um dos princípios básicos da Engenharia de Usabilidade é a interação rápida - "1,0 segundo é sobre o limite para o fluxo de pensamento do usuário permanecer ininterrupto". Enquanto os aplicativos nativos reagem e funcionam rápido o suficiente para manter os usuários dentro do ritmo do sistema, os produtos híbridos costumam ficar um pouco mais lentos.
4. Nativo = mais sofisticado.
As soluções de plataforma cruzada são fantásticas quando você está procurando criar algo que já existe, com recursos fora da classe "média". Quando se trata de coisas complexas (todos os algoritmos modernos de IoT, AR / VR e Big Data Mining estão nesta lista), os aplicativos híbridos carecem de habilidades técnicas para realizar o que você deseja. Por outro lado, IDEs e linguagens nativas têm perspectivas tecnológicas infinitas - muitas coisas podem ser escritas neles.
Escolha com cuidado.
Se você está procurando um aplicativo simples para construir (listas e nada mais complexo do que isso), o React Native é uma explosão. Se qualquer desempenho adicional do aplicativo for necessário, mais procedimentos de desenvolvimento complicados surgirão - você já precisa mudar para Swift ou Kotlin e, em seguida, embrulhar tudo na capa brilhante do Java Script; e isso não parece uma coisa fácil de fazer. Portanto, para coisas como streaming de vídeo ou áudio, roteamento, bate-papos em tempo real, edição de fotos, etc., será melhor começar com o desenvolvimento nativo desde o início, evitando essas desvantagens.
Além disso, React Native é uma estrutura JavaScript completa, e todo o código pode ser escrito no editor de texto como TextMate ou Notepad ++. Porém, quando se trata de construir um projeto, você precisa desesperadamente de um IDE específico, ou pelo menos de um emulador.
Existem alguns exemplos de aplicativos decentes baseados em RN:
- Aplicativos do Facebook, obviamente
- Aplicativos móveis do Airbnb (híbrido iOS e Android)
- Aplicativo móvel do Walmart (já que tinha uma série de visualizações da web incorporadas com sua implementação abaixo do esperado)
Você pode ver a lista completa de produtos baseados em RN em seu site oficial e, novamente, RN vence o concurso de estrutura React Native vs Xamarin aqui.
Por uma questão de perspectiva.
De acordo com estatísticas da Flurry, "o consumidor americano hoje gasta em média 2 horas e 38 minutos por dia em smartphones e tablets. 80% desse tempo (2 horas e 7 minutos) é gasto em aplicativos". Seu produto tem que se encaixar de alguma forma nesses horários de 2 horas por dia. Todos os pontos considerados, a estrutura React Native RoR seria uma solução útil para um projeto minúsculo de curto prazo; as avaliações provam que é rápido, furioso e novo, ou quando você quer “testar o conceito”. No entanto, a longo prazo, ou ao planejar uma inovação técnica para dar o pontapé inicial, você não pode contar com uma opção pronta. Você precisa que ele seja criado do zero, precisa ser customizado - então você precisa que seja um desenvolvimento de aplicativo nativo.
Escrito por Artem Chervichnik e Elina Bessarabova .