React Native

React Native
AutoresFacebook e comunidade
DesenvolvedorFacebook
Lançamento inicial26 de março de 2015 (11 anos)
Lançamento estável
0.78 / 19 de fevereiro de 2025 [1]
Versão beta
0.79.0-rc.1 / 11 de março de 2025
Repositóriogithub.com/facebook/react-native
Escrito emJavaScript, TypeScript
Sistema
operacional
Multiplataforma
PlataformaMultiplataforma
Disponível emMultilíngue
TipoBiblioteca JavaScript
LicençaLicença MIT
Websitefacebook.github.io/react-native/

React Native é um framework de código aberto criado pela Meta Platforms, Inc[2]. É usado para desenvolver aplicativos para Android[3] [4], Android TV[5], iOS[4], macOS[6], tvOS[7], Web[8], Windows[6], e UWP[9], permitindo que os desenvolvedores usem a estrutura React juntamente com os recursos nativos de cada plataforma[10]. Ele é usado para desenvolver aplicativos Android e iOS no Facebook, Microsoft e Shopify[11]. Também está sendo usado para desenvolver aplicativos de realidade virtual na Oculus[12].

História

Em 2012 Mark Zuckerberg comentou, "O maior erro que cometemos como empresa foi apostar demais em HTML5 em oposição ao nativo". Ele prometeu que o Facebook logo entregaria uma melhor experiência móvel.

Dentro do Facebook, Jordan Walke encontrou uma maneira de gerar elementos de interface do usuário para iOS a partir de um thread JavaScript em segundo plano. Eles decidiram organizar um Hackathon interno para aperfeiçoar esse protótipo para poder criar aplicativos nativos com essa tecnologia

Após meses de desenvolvimento, o Facebook lançou a primeira versão do React em 2015. Durante uma palestra técnica,[13] Christopher Chedeau explicou que o Facebook já estava usando o React Native em produção.

Implementação

Os princípios de funcionamento do React Native são virtualmente idênticos ao ReactJs, exceto que o React Native não manipula o DOM através do Virtual DOM. Ele é executado em um processo em segundo plano (que interpreta o JavaScript escrito pelos desenvolvedores) diretamente no dispositivo final e se comunica com a plataforma nativa por meio de uma serialização, uma ponte assíncrona e em lote.[14]

O React Native não usa HTML. Em vez disso, trabalha com JavaScript puro com sintaxe JSX.

Exemplo Olá Mundo

Um Olá, Mundo em React Native(comentado):

// Importando os módulos necessários do React e React Native
import React from 'react'; // Importa o React para poder criar componentes
import { Text, View } from 'react-native'; // Importa os componentes nativos 'Text' e 'View' do React Native

// Criando um componente funcional chamado HelloWorldApp
const HelloWorldApp = () => {
  return (
    // O componente 'View' é um contêiner que organiza os outros componentes dentro dele
    <View
      style={{
        // 'flex: 1' faz o 'View' ocupar todo o espaço disponível
        flex: 1,
        // 'justifyContent' alinha os itens no eixo vertical
        justifyContent: 'center',
        // 'alignItems' alinha os itens no eixo horizontal
        alignItems: 'center',
      }}>
      {/* O componente 'Text' exibe texto na tela */}
      <Text>Olá, Mundo!</Text> 
    </View>
  );
};

// Exportando o componente para que ele possa ser utilizado em outros arquivos
export default HelloWorldApp;
  1. ↑ «Releases – Facebook/React». GitHub (em inglês)
  2. ↑ «Chapter 1. What Is React Native?». oreilly.com (em inglês). O’Reilly Media, Inc. Consultado em 30 de julho de 2020
  3. ↑ «Android Release for React Native» (em inglês). Consultado em 14 de setembro de 2015
  4. 1 2 Shankland, Stephen. «Mozilla's radical open-source move helped rewrite rules of tech». CNET (em inglês). Consultado em 11 de maio de 2022
  5. ↑ «Building For TV Devices · React Native». reactnative.dev (em inglês). Consultado em 2 de outubro de 2020
  6. 1 2 «React Native for Windows + macOS · Build native Windows & macOS apps with Javascript and React». microsoft.github.io (em inglês). Consultado em 2 de outubro de 2020
  7. ↑ «React Native for Apple TV». React Native for Apple TV (em inglês). Consultado em 2 de outubro de 2020
  8. ↑ «React Native for Web». GitHub (em inglês). Consultado em 6 de novembro de 2019
  9. ↑ «React Native on the Universal Windows Platform». blogs.windows.com (em inglês). Consultado em 6 de novembro de 2016 Parâmetro desconhecido |desenvolvedor= ignorado (ajuda)
  10. ↑ «Out-of-Tree Platforms». reactnative.dev (em inglês). Facebook, Inc. Consultado em 30 de julho de 2020
  11. ↑ «React Native Showcase». react.native.dev (em inglês). Consultado em 4 de abril de 2023
  12. ↑ «React Native in H2 2021 · React Native». reactnative.dev (em inglês). Consultado em 20 de agosto de 2021
  13. ↑ «A Deep Dive into React Native». YouTube
  14. ↑ «Bridging in React Native». 14 de outubro de 2015. Consultado em 16 de janeiro de 2018