O React Native é um framework baseado no já aclamado React, desenvolvido pela equipe do Facebook, que possibilita o desenvolvimento de aplicações mobile, tanto para Android, como para iOS, utilizando apenas Javascript.
Existem outros parecidos no mercado, porém o diferencial dele, é que mesmo sendo Multiplataforma, ele compila em código nativo (Swift, Java) e não em uma Webview.
Ele funciona como o V do MVC , permitindo criar seus próprios componentes. Numa aplicação em React, você deve quebrar os diferentes elementos dela em pequenos componentes reutilizáveis.
JSX – JavaScript Syntax eXtension é o método usado para escrever aplicativos React Native. Se você não está familiarizado com o que é o JSX: é simplesmente uma combinação de JavaScript e XML. Em outras palavras,Renderiza aplicativos usando componentes reais da interface do usuário móvel.

Por que React Native é adequada para criação de Apps?
O avanço do aplicativo para dispositivos móveis baseia-se no desenvolvimento em ciclos curtos, ou seja, um aplicativo que é rápido de implantar e um aplicativo que oferece melhor desempenho.
Além disso, a primeira preferência de cada consumidor é sempre um aplicativo que fornece uma experiência perfeita, independentemente da plataforma.
O React Native faz isso por você.
Claramente, existem várias outras razões que levaram à imensa popularidade do React Native.
O que o React Native pode fazer?
1. Estabelece Independência de Plataforma
O React Native foi desenvolvido inicialmente pelo Facebook para sustentar o iOS. No entanto, agora ele suporta todos os métodos específicos para o sistema operacional Android. Portanto, é como criar um aplicativo nativo com uma única base de código que funcione nas plataformas iOS e Android.
2. Componentes reutilizáveis prontamente disponíveis
Construído com a reutilização em sua essência, o React Native permite que você use recursos plug and play como os correspondentes ao iOS e Android. Isso torna a arquitetura do aplicativo consistente com os seguintes recursos:
- UI responsiva e UX
- Estilo de desenvolvimento semelhante à Web em comparação com estruturas híbridas
- Aparência, velocidade e sensação dos widgets nativos

3. Renovar código existente
Você pode aplicar os componentes de interface do usuário do React Native a um código de aplicativo que já existe. Essa é uma vantagem adicional para as empresas que precisam complementar um aplicativo que existe, mas não querem reconstruí-lo. A incorporação de componentes do React Native UI é um processo rápido e não requer reescrita.
4. Compilação rápida através de recarga a quente
JavaScript é uma das linguagens de programação mais rápidas. Ele introduz outro conceito exclusivo de Hot Reloading para fornecer uma melhor experiência de desenvolvimento. Esse recurso combina o pequeno tempo de compilação do JavaScript e outros recursos. Isso significa que você pode fazer edições simultaneamente sem precisar recompilar completamente. O React Native traz a velocidade e a agilidade do aplicativo Web para o espaço híbrido e com os resultados de um aplicativo nativo.
O que o React Native não pode fazer?
1. Não totalmente dimensionado para módulos personalizados
O React Native não resolveu todas as suas falhas. Também faltam módulos personalizados que podem levar muito tempo para serem construídos, bem como para você criar os seus próprios módulos. Você precisará de um desenvolvedor especializado para resolver os desafios e erros técnicos de tempos em tempos.
2. Garantia de certeza
Mesmo que o Facebook tenha uma estrutura desenvolvida, há uma incerteza de sua permanência, porque ele ainda tem o direito de acabar com o projeto a qualquer momento. No entanto, é improvável que isso ocorra devido à popularidade da tecnologia que ganhou com o tempo.
3. Manipulação de UI complexa e processamento em segundo plano
Se seus aplicativos exigem mais interação, o React Native pode não ser capaz de fornecer a melhor experiência nativa. Além disso, aplicativos que exigem muitos processos em segundo plano para funcionar não devem ser criados com o React Native. É ainda mais difícil obter essa referência de desempenho para aplicativos mais pesados.
4. Suavizar o uso pesado da CPU
O React Native funciona nos módulos interconectados Native e JavaScript que combinam o poder da compilação de scripts e fornecem uma sensação nativa ao aplicativo. Esse processo demanda muita CPU e é uma das principais causas do baixo desempenho do aplicativo.
