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].

React Native
Autor Facebook e comunidade
Desenvolvedor Facebook
Modelo do desenvolvimento Software de código aberto
Lançamento 26 de março de 2015 (9 anos)
Versão estável 0.63.3 (29 de setembro de 2020; há 3 anos [1])
Idioma(s) Multilíngue
Escrito em JavaScript, TypeScript
Sistema operativo Multiplataforma
Gênero(s) Biblioteca JavaScript
Licença Licença MIT
Estado do desenvolvimento Corrente
Página oficial facebook.github.io/react-native/

História editar

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 editar

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][15]

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

Exemplo Olá Mundo editar

Um Olá, Mundo em React Native:

import React, {Component} from 'react';
import {Text, View} from 'react-native';

class HelloReactNative extends Component {
  render() {
    return (
      <View>
        <Text>
          Olá, mundo!
        </Text>
        <Text>
          Ao invés de 'div' e 'span', você usa componentes nativos como 'View' e 'Text'.
        </Text>
      </View>
    );
  }
}
  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. a b 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. a b «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. Windows Apps Team. «React Native on the Universal Windows Platform». blogs.windows.com (em inglês). Consultado em 6 de novembro de 2016 
  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 
  15. «React Native Framework»  Thursday, 13 September 2018