Reagir Native init vs Expo

imagem


Na documentação oficial do React Native, na seção Introdução , aprendemos que temos duas maneiras de iniciar um aplicativo móvel: expo e react-native cli. Usuários de Windows e Linux, e a maioria deles, acessando a guia Projetos de construção com código nativo e escolhendo Target OS: iOS, encontram uma inscrição que os envia ao iniciador da Expo, mas antes de instalar a Expo, sugiro que você leia as informações na tabela a seguir e salve minha cabeça não é só dos punhos que recebi:


Nomeinit react-nativeExpo
Você pode adicionar seus próprios módulos escritos em Java / Objective-CSimNão
Peso do aplicativo padrão Hello World5 mb25 mb
Requer o Android Studio e o Xcode para executar projetosSimNão
As fontes devem ser importadas manualmente no XcodeSimNão
Compartilhando o aplicativo (usando um código ou link QR), você não precisa enviar o arquivo .apk ou .ipa inteiroMais difícilMais fácil
Para compartilhar esse aplicativo, você precisa enviar o arquivo .apk / .ipa inteiroSimNão
Fornece APIs JS prontas para uso, por exemplo, Push-Notifications, Asset ManagerNãoSim
Se você ainda escolheu a Expo, é uma questão de tempo que você encontrará suas limitações e desejará usar módulos nativos. Para isso, será necessário desanexar. Pela minha própria experiência e por muitos de meus colegas, sei que o desanexamento é feito de forma torta, o que significa que é necessário refatorar vários erros.

Para mim, o Live Reloading no simulador se tornou um verdadeiro amigo, mas na Expo ele quebra constantemente e precisa ser reiniciado constantemente, o que torna o processo de desenvolvimento doloroso.

A Expo está cheia de dependências que você pessoalmente não precisará para o projeto, mas será necessário aguardar um tempo adicional até que seu pacote JS com excesso de lixo seja coletado e, após esse lixo, a Expo adicionará ao seu lançamento .apk e .ipa em seus dispositivos móveis clientes, pelo que o tempo de inicialização do aplicativo aumentará e, com ele, o tempo para desenvolver o aplicativo aumenta, pois os pacotes JS devem ser coletados com muita frequência.

Se os componentes da Expo também funcionassem com cli nativo a reagente, não haveria problemas e, portanto, observo uma lacuna na compatibilidade dos iniciantes, e o mais triste é que a Expo começará a apresentar seus erros adicionais relacionados à sua infraestrutura.

É claro que nem todo mundo tem a oportunidade de comprar um Mac, mas comparar dois iniciantes e minha experiência de 2,5 anos em ambos mostra que o desenvolvimento de um aplicativo com cli nativo a reagir, mesmo que seja do Windows no Android, é um investimento melhor em uma solução mais profissional , já que o React-Native usa a mesma base de código para iOS e Android.

Espero seu feedback, graças ao qual as informações no artigo serão ajustadas e complementadas.

Se você está interessado neste artigo, provavelmente está apenas começando a estudar o React Native, o que significa que estará interessado no meu curso em vídeo em russo sobre [princípios básicos do React-Native] (react-native-village.imtqy.com), que você pode fazer com qualquer iniciador.

Source: https://habr.com/ru/post/pt480258/


All Articles