Então, agora que sabemos o
que é React Native, vamos dar uma breve olhada nos bastidores.
Agora, como mencionei, com o React e o React Native, criamos um aplicativo e nosso código normalmente se parece com
algo assim.
Nós construímos Componentes React normais como você o conhece da web com Javascript, porque Javascript é
a linguagem que usamos para construir
aplicativos React Native, mas lá, usamos componentes especiais como visualização e texto aqui.
Estes não são seus elementos HTML normais porque os elementos HTML normais não
são suportados, as plataformas nativas não sabem como usá-los, portanto você usa componentes especiais dados a
você pelo React Native para o qual o React Native é capaz de traduzi-los para instruções
as plataformas nativas entendem, então é assim que isso funciona.
Agora é importante entender que seus pontos de vista, portanto, os componentes com os quais você está trabalhando, são, no
final, compilados para widgets nativos reais, para elementos nativos reais, para código nativo real. Seu código Javascript onde você gerencia sua lógica de
negócios não será compilado, mas suas visualizações serão, e isso também significa que você
normalmente obtém um ótimo desempenho ao criar aplicativos React Native, pois o resultado é um aplicativo
nativo real em que uma grande parte do código é um código nativo real.
Agora, se observarmos mais de perto essa parte do componente, é importante entender que você
pode usar o React para criar aplicativos da Web, mas também é possível desenvolver aplicativos nativos para Android e iOS
com código nativo, sem reagir nativo ou pode usar o React Native, então essas são quatro formas diferentes
de criar aplicativos, onde, é claro, o React for the web não nos dará um aplicativo nativo, mas
apenas para comparar como isso seria relacionado.
Então, se você está usando o React for the web, você normalmente trabalha com digamos um div para estruturar seu conteúdo.
Se você trabalhasse diretamente com
o Android, criaria seu aplicativo no Android Studio sem o Reagt Native, trabalharia com uma visualização do
Android, por exemplo, seria um widget que pode ser usado na interface do usuário que está
criando diretamente com os recursos da plataforma nativa para estruturar seu conteúdo. No iOS, esse seria o widget de visualização da interface do usuário e
você não precisa memorizar esses
termos. Só quero explicar como o React Native traduz as coisas para você, porque, no React
Native apps, você usa o elemento view.
Agora, se você observar esse elemento view, verá que é muito parecido com o elemento
div, parece uma tag HTML,
a diferença é que ele começa com um caractere maiúsculo e essa visualização não é uma tag HTML ,
o navegador não saberia o que fazer com uma visualização, mas o React Native e o React Native
traduzirão essa visualização para a visualização do Android ou para a visualização da interface do usuário para você e isso, é claro, não
apenas para esse componente geral de exibição, mas Por exemplo, se você estiver buscando a entrada do usuário, na Web você
faria isso com o elemento de entrada. Se criasse um aplicativo Android nativo, usaria o texto de
edição. Para um aplicativo iOS nativo, você usaria o campo de texto da interface do usuário e no React
Native, há o componente de entrada de texto, novamente o React Native compila isso para os widgets nativos para você e
é assim que o React Native trabalha nos bastidores. É claro que não nos importamos com a Web neste
curso aqui, apenas para que você entenda que existem algumas semelhanças, usamos essas tags que se parecem com tags HTML, mas é claro,
que a diferença importante é que esses são componentes especiais compilados para código nativo. Agora, como eu já mencionei, é importante entender que, para
a UI, o React Native fornece componentes especiais que são então compilados para uso nativo, para
sua outra lógica, então se
você estiver usando Redux ou se tiver alguma lógica de negócios, re enviando solicitações HTTP,
você está transformando dados, todos os outros códigos Javascript não são compilados para código nativo, mas em vez disso, ele está sendo executado
em um encadeamento especial hospedado pelo React Native. Então você pode imaginar o seu aplicativo React Native
que você obtém no final como um aplicativo nativo real porque é um, onde todas as visualizações foram
compiladas para widgets nativos, mas onde há um mini aplicativo extra dentro do seu aplicativo, um mini Javascript aplicativo em execução lá, hospedado e
iniciado por React Native, por assim dizer, que executa todo o seu código Javascript e seu código Javascript pode então falar com
a plataforma nativa.
Você pode imaginar isso aqui, você tem seu código, seu aplicativo e você cria um aplicativo nativo que está
sendo executado em uma plataforma nativa e, claro, há certos recursos da plataforma disponíveis, como por exemplo,
o uso da câmera do dispositivo.
Agora, como já mencionado, o seu código pode ser dividido em duas coisas aqui - suas visões e
sua lógica de negócios, então o outro código Javascript. Agora, como já foi mencionado várias vezes, suas
visualizações são compiladas para visualizações nativas, para widgets nativos para essas plataformas e seu código é mantido como código Javascript e você pode acessar os recursos
da plataforma nativa como a câmera porque seu código Javascript é executado em um virtual especial máquina no final, girada e
hospedada pelo React Native dentro do seu aplicativo, então a parte direita aqui está toda dentro
do nosso aplicativo nativo que nós enviamos para as lojas de aplicativos e que o código JavaScript, esta máquina virtual
Javascript, sabe como falar para os recursos da plataforma nativa, portanto, para o sistema operacional em que
seu aplicativo está sendo executado no final, por meio de uma ponte especial
que você poderia dizer, e essa ponte e essa máquina virtual, tudo isso é fornecido automaticamente pelo React Native.
Você não precisa se
preocupar com isso, tudo que você faz é escrever seu aplicativo React Native com Javascript e com esses componentes especiais e isso é tudo que você
precisa saber por agora, é assim
que um aplicativo React Native funciona nos bastidores e eu ache importante estar ciente disso porque tira um pouco da magia em um
sentido positivo porque você entende o que você está realmente escrevendo e o que vai acontecer com o seu código e
como esse código acaba em um aplicativo nativo e é claro, você também entende
que você tem um aplicativo nativo real no final. Nem todo o código é compilado, isso
seria praticamente
impossível, mas suas visualizações são compiladas e, é claro, as visualizações, portanto, a parte que o
usuário vê é a parte mais importante no desempenho de um aplicativo, pois a renderização da interface
e tudo isso, essa é tipicamente
a parte de desempenho intensivo e, portanto, é muito bom que isso seja compilado e
essa é uma das grandes forças do React Native.