Ao longo deste curso, criamos aplicativos React Native e eu realmente quero enfatizar
isso, criamos aplicativos React Native, mas os construímos com uma ferramenta chamada expo e, como você viu ao longo deste
curso, a expo geralmente sai do nosso caminho, mas criou esses aplicativos são muito mais simples.
O processo de configuração é simples, você pode testá-lo em seu dispositivo real sem nenhuma configuração especial, adicionar facilmente módulos nativos
e ter um catálogo enorme de módulos nativos integrados e assim por diante. Portanto, desenvolver aplicativos React Native com a ajuda da expo é realmente
fácil e, portanto, a minha maneira recomendada de fazê-lo. Agora, pode haver razões pelas quais você pode
querer criar um aplicativo sem expo. Por um lado, você não deve
esquecer que a expo funciona de forma que você tenha o cliente expo em seu dispositivo real ou
também no simulador, é claro, também o final instalou o cliente expo; portanto, esse
aplicativo no dispositivo e seu aplicativo são carregados nesse cliente. Agora você ainda poderá publicar um aplicativo independente como aprendeu, para
poder publicar um aplicativo que carregue nas lojas de aplicativos em que as pessoas não precisam
instalar o cliente, mas esse aplicativo publicado incluirá no final esse invólucro de aplicativo, portanto, ele será
um aplicativo autônomo no qual as pessoas não precisam instalar o aplicativo cliente expo, mas o aplicativo cliente expo faz parte
do seu aplicativo, você poderia dizer,
portanto, as pessoas o instalarão indiretamente, se isso fizer sentido.
Portanto, você sempre tem esse invólucro e, portanto, um motivo para não usar a expo,
mas pode ser que você queira se livrar desse invólucro porque, como você pode imaginar, esse invólucro
ainda oferece um aplicativo nativo e ainda oferece os benefícios do seu visualizações sendo compiladas em visualizações nativas,
embora tudo isso ocorra, é claro que esse invólucro adiciona um pouco de tamanho ao seu aplicativo, mas ele aumenta.
Provavelmente também fica um pouco mais lento por causa desse invólucro extra, embora
eu ainda queira enfatizar que você recebe um aplicativo compilado nativo, certo?
Suas visualizações ainda são compiladas para o código nativo, para que você não perca,
não é como o Ionic, onde o Ionic usa um aplicativo nativo como invólucro para um aplicativo Web, não é
isso que está acontecendo aqui, você
ainda tem essa sobrecarga.
Portanto, um motivo para não usar o expo pode ser o fato de você querer se livrar desse invólucro extra; outro motivo pode ser o fato
de você precisar de alguma funcionalidade de dispositivo nativo fora do que usamos no módulo de recurso nativo que não está incluído
no expo, portanto algum recurso que você simplesmente não
pode adicionar com a ajuda da expo e então fica preso. Se você precisar de algum recurso que não faça parte da
expo e não puder encontrá-lo aqui, não poderá adicioná-lo a um aplicativo React
Native criado com expo, não há como isso. Você não pode escrever seu próprio código nativo
e conectá-lo e não pode trazer outros pacotes de terceiros que utilizam os recursos do dispositivo
nativo, isso não é suportado na expo.
Portanto, essas podem ser duas razões pelas quais você deseja mudar - você deseja se livrar
desse invólucro, pois cada milissegundo de desempenho é importante para você e todos os kilobytes de tamanho são importantes para você ou devido
a um recurso nativo ausente.
Agora vou enfatizar para a maioria dos aplicativos, provavelmente os dois motivos não se aplicam porque não estamos falando de
um grande sucesso no desempenho, não estamos
falando de um aplicativo super enorme que você estaria recebendo, de fato é muito enxuto, mas ainda assim pode ser uma coisa para alguns
aplicativos e a coisa com
os módulos nativos que podem estar faltando, há tantos incluídos, é provável que você possa criar
o aplicativo que deseja construir com o que está incluído. Mas caso algo esteja faltando, é claro que
você também pode criar um aplicativo React Native e podemos encontrá-lo nos documentos
oficiais também sem expo.
Agora, deixe-me mergulhar nas alternativas que você tem.