Como começar a aprender React Native: Guia completo para iniciantes
react-native
Se você está interessado em desenvolver aplicativos móveis que funcionam tanto em Android e iOS usando uma única base de código, o React Native é uma excelente opção. Neste artigo, vamos explorar o que é o React Native, por que ele é uma ferramenta poderosa para o desenvolvimento mobile e como você pode dar os primeiros passos nessa jornada.

O que é React Native?

O React Native é um framework de código aberto criado pelo Facebook em 2015. Ele permite que você construa aplicativos móveis nativos utilizando JavaScript e React, uma popular linguagem de programação para desenvolvimento web. Ao contrário de outras soluções que utilizam WebViews, o React Native compila seu código para componentes nativos, proporcionando desempenho e experiência de usuário próximos aos de um aplicativo desenvolvido especificamente para cada plataforma.

Quem usa React Native?

Grandes empresas como Facebook, Instagram, Uber Eats, Walmart e Discord utilizam o React Native em seus aplicativos. Isso demonstra a robustez e a confiabilidade da tecnologia em projetos de grande escala.
Logotipo do React Native, framework para desenvolvimento de aplicativos móveis multiplataforma.
Logotipo do React Native, framework para desenvolvimento de aplicativos móveis multiplataforma.

Por que escolher react native?

Desenvolvimento multiplataforma

Com o React Native, você escreve código uma vez e o utiliza em várias plataformas. Isso significa que você pode criar um aplicativo que funcione perfeitamente em iOS e Android sem precisar manter duas bases de código separadas.

Reutilização de conhecimentos

Se você já está familiarizado com JavaScript e React, estará em vantagem. O React Native permite que você aplique esses conhecimentos no desenvolvimento móvel, acelerando seu processo de aprendizagem.

Comunidade ativa

O React Native possui uma comunidade vibrante e ativa. Há uma abundância de recursos, bibliotecas e ferramentas disponíveis que podem te ajudar a resolver problemas e adicionar funcionalidades ao seu aplicativo. Além disso, a Rocketseat oferece uma comunidade engajada de desenvolvedores, ideal para tirar dúvidas, trocar experiências e fazer networking, ajudando você a evoluir ainda mais rápido na sua jornada com React Native.
Logotipo do Discord ao lado do logotipo da Rocketseat, usado para linkar com a comunidade da Rocketseat no Discord, que oferece suporte para pessoas aprendendo React Native.
Logotipo do Discord ao lado do logotipo da Rocketseat, usado para linkar com a comunidade da Rocketseat no Discord, que oferece suporte para pessoas aprendendo React Native.

Acesso a componentes nativos

Ao contrário de soluções híbridas que dependem de tecnologias web, o React Native permite acesso direto às APIs nativas dos dispositivos. Isso resulta em melhor desempenho e uma experiência de usuário mais fluida.

Por onde começar?

Antes de mergulhar no React Native, é importante que você tenha uma boa base nos seguintes conceitos:
  • HTML e CSS: Embora o React Native não utilize diretamente HTML e CSS, compreender a estruturação de interfaces e estilos é muito útil para entender como os componentes se comportam e são estilizados.
  • JavaScript: Ter um conhecimento sólido em JavaScript é fundamental, já que o React Native é construído sobre essa linguagem. É importante entender conceitos como funções, objetos, arrays, ES6+ (let, const, arrow functions), promises, async/await e manipulação de dados.
JavaScript é a base do React Native, então ter um bom entendimento dessa linguagem é essencial. Se você ainda precisa fortalecer seus conhecimentos em JavaScript, HTML e CSS, temos uma ótima recomendação para você.

Comece com o Discover da Rocketseat

Para apoiar você nessa jornada, a Rocketseat oferece o Discover, um curso totalmente gratuito e ideal para quem está começando no mundo da programação. Nele, você vai aprender os fundamentos essenciais de HTML, CSS e JavaScript.

Avance com a formação fullstack da Rocketseat

Se você deseja ir além e se tornar um desenvolvedor completo, a Rocketseat oferece a formação fullstack. Nessa formação, você vai:
  • Aprender do zero as principais linguagens e tecnologias web.
  • Dominar o desenvolvimento full stack, do front-end ao back-end.
  • Adquirir experiência prática com uma didática mão na massa.
  • Conhecer tudo que precisa para iniciar sua carreira e conquistar sua primeira vaga em programação.
Com a Formação Fullstack, você estará preparado para enfrentar os desafios do mercado de trabalho e se destacar como um profissional versátil e atualizado.

Preparando o ambiente de desenvolvimento

Antes de mergulhar no código, é necessário configurar o ambiente de desenvolvimento. Existem duas principais formas de começar com React Native: Expo e React Native CLI.

Expo

O Expo é uma ferramenta que simplifica a criação de aplicativos React Native. Ele abstrai grande parte das configurações nativas, tornando-o ideal para iniciantes. Com o Expo, você pode iniciar rapidamente seu projeto e testar seu aplicativo em dispositivos reais sem complicações.

React Native CLI

A React Native CLI oferece mais controle sobre o projeto, permitindo personalizações avançadas e acesso ao código nativo. Ela é recomendada para desenvolvedores que já têm um pouco mais de experiência ou que precisam de funcionalidades nativas específicas que o Expo não oferece.

Instalando o Expo

Para começar com Expo, basta seguir os seguintes passos:
  1. Instale o Node.js (necessário para executar o React Native).
  1. Instale a CLI do Expo com o comando:
    1. npm install -g expo-cli
  1. Crie seu primeiro projeto com o comando:
    1. expo init MeuApp
  1. Inicie o projeto:
    1. cd MeuApp expo start
Com esses passos, você já estará pronto para começar a desenvolver seu aplicativo. Se precisar de mais detalhes ou opções avançadas, você pode conferir a documentação oficial de configuração de ambiente para garantir que tudo esteja funcionando corretamente.
Pessoa apontando para protótipo de tela de aplicativo em uma lousa, com destaque para planejamento de UX, usabilidade e desenvolvimento com React Native.
Pessoa apontando para protótipo de tela de aplicativo em uma lousa, com destaque para planejamento de UX, usabilidade e desenvolvimento com React Native.

Conceitos fundamentais do React Native

Agora que seu ambiente está pronto, vamos explorar os conceitos fundamentais do React Native, que você precisará dominar para criar aplicativos robustos.

JSX

O React Native utiliza JSX, uma extensão de sintaxe para JavaScript que permite escrever código similar a XML ou HTML.
import React from 'react'; import { View, Text } from 'react-native'; const App = () => ( <View> <Text>Olá, mundo!</Text> </View> ); export default App;

Componentes básicos

No React Native, você utilizará componentes para construir sua interface. Alguns dos principais componentes são:
  • View: Equivalente a uma <div> no HTML, é o contêiner básico.
  • Text: Usado para exibir textos.
  • Image: Exibe imagens na interface.
  • TextInput: Um campo de entrada de texto.
  • ScrollView: Um contêiner com suporte à rolagem para quando o conteúdo excede o tamanho da tela.
Exemplo básico de uso de componentes:
import { View, Text, Image } from 'react-native'; const MeuApp = () => { return ( <View> <Text>Bem-vindo ao meu primeiro app!</Text> <Image source={{ uri: 'https://images.unsplash.com/photo-1517841905240-472988babdf9' }} style={{ width: 200, height: 200 }} /> </View> ); }; export default MeuApp;
O Expo Snack é uma ferramenta online que permite você criar, testar e compartilhar aplicativos React Native diretamente no navegador, sem a necessidade de configurar um ambiente de desenvolvimento. Isso facilita muito para quem está começando a aprender, já que você pode ver as mudanças no código sendo aplicadas em tempo real, tanto em dispositivos Android quanto iOS. Agora que você sabe o que é o Expo Snack, quer testar o código e explorar os conceitos básicos?

Estilização de componentes

No React Native, a estilização é feita utilizando o StyleSheet, que funciona de forma semelhante ao CSS. Aqui está um exemplo de como estilizar um componente:
import { Text, SafeAreaView, StyleSheet } from 'react-native'; import { Card } from 'react-native-paper'; export default function App() { return ( <SafeAreaView style={styles.container}> <Text style={styles.heading}> Faaaala Dev! </Text> <Card style={styles.card}> <Text style={styles.paragraph}> Mergulhe no mundo da estilização com React Native e construa interfaces modernas e intuitivas. 🚀 </Text> </Card> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', backgroundColor: '#121214', padding: 16, }, heading: { fontSize: 24, fontWeight: 'bold', color: '#04D361', textAlign: 'center', marginBottom: 16, }, card: { backgroundColor: '#202024', padding: 20, borderRadius: 8, shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.8, shadowRadius: 2, }, paragraph: { fontSize: 16, color: '#E1E1E6', textAlign: 'center', marginBottom: 12, }, });
Você pode acessar o exemplo completo diretamente no Expo Snack e testar as mudanças em tempo real. Clique no link abaixo para abrir o código e começar a explorar!

Propriedades e estado (props & state)

No React Native, os props e o state são fundamentais para controlar o comportamento e a aparência dos componentes. Imagine que você queira exibir o nome de diferentes alunos em um aplicativo da Rocketseat. Utilizando props, podemos passar o nome de cada aluno para um componente que será responsável por exibir essa informação.
import { SafeAreaView, Text, StyleSheet } from 'react-native'; // Componente que recebe a prop 'nome' e exibe uma saudação const Saudacao = ({ nome }) => { return <Text style={styles.saudacao}>Olá, {nome}! 🚀</Text>; }; export default function App() { return ( <SafeAreaView style={styles.container}> {/* Passando diferentes nomes como props para o componente Saudacao */} <Saudacao nome="Diego" /> <Saudacao nome="Myke" /> <Saudacao nome="Rodrigo" /> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#121214', }, saudacao: { fontSize: 24, color: '#04D361', margin: 10, fontWeight: 'bold', }, });
Clique no link abaixo para abrir o código e teste seu conhecimento sobre componentes e propriedades no React Native:

Hooks

Assim como no React para web, você pode utilizar os hooks no React Native. Os hooks permitem que você adicione estados e efeitos colaterais em componentes funcionais, e são amplamente utilizados para criar lógicas mais dinâmicas em aplicativos React Native.
Os hooks mais comuns que você usará no React Native são:
  • useState: Para gerenciar o estado local de um componente.
  • useEffect: Para lidar com efeitos colaterais, como chamadas a APIs ou a execução de código após o componente ser renderizado.
  • useContext, useReducer e outros hooks também estão disponíveis no React Native da mesma forma que no React.
Aqui está um exemplo que usa os hooks useState e useEffect no React Native:
import React, { useState, useEffect } from 'react'; import { SafeAreaView, Text, Button, StyleSheet } from 'react-native'; export default function App() { const [contador, setContador] = useState(0); // Estado local const [mensagem, setMensagem] = useState(''); // Estado para armazenar mensagem de API fictícia // Hook useEffect para simular uma chamada de API useEffect(() => { // Simulando uma chamada de API com setTimeout setTimeout(() => { setMensagem('Aqui está sua mensagem da API!'); }, 2000); }, []); // O array vazio [] faz com que o efeito seja executado apenas uma vez return ( <SafeAreaView style={styles.container}> <Text style={styles.paragraph}> Você clicou {contador} vezes! </Text> <Button title="Clique aqui" onPress={() => setContador(contador + 1)} /> {/* Exibindo a mensagem recebida pela "API" */} <Text style={styles.mensagem}>{mensagem}</Text> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#121214', padding: 16, }, paragraph: { fontSize: 18, color: '#E1E1E6', margin: 10, textAlign: 'center', }, mensagem: { fontSize: 16, color: '#04D361', marginTop: 20, textAlign: 'center', }, });
Quer testar suas habilidades com os hooks? Explore e faça seus testes usando o link:
Se você quiser aprender ainda mais sobre o desenvolvimento mobile com React Native, nós preparamos um conteúdo exclusivo no canal da Rocketseat no YouTube. Não perca essa oportunidade de ver tudo isso em ação!
Video preview

Próximos passos

Tornar-se um desenvolvedor profissional de React Native vai muito além de dominar o framework. O caminho envolve aprimoramento contínuo, especializações e estar conectado com a comunidade. A Rocketseat oferece uma trilha de formação completa, focada em React Native, que pode ser o ponto de partida ideal para você. Confira alguns passos essenciais para sua jornada:

Como se tornar um desenvolvedor React Native profissional:

  • Certificações: Adquirir uma certificação em React Native é um diferencial importante no mercado.
  • Contribuição para Open-Source: Participar de projetos open-source no GitHub não só amplia suas habilidades, como também aumenta sua visibilidade e te conecta com outros desenvolvedores da comunidade.
  • Cursos Avançados: Aprofunde seu conhecimento com cursos que abrangem desde o uso de APIs e gerenciamento de estado com Redux, até o domínio do TypeScript. A formação em React native da Rocketseat inclui módulos essenciais para seu desenvolvimento, como Integração com Back-end, Animações e Login Social.

Certificações e mercado de trabalho

O mercado de trabalho para desenvolvedores React Native está aquecido, com alta demanda por profissionais capazes de construir aplicativos multiplataforma. Possuir certificações relevantes e um portfólio forte pode fazer toda a diferença para se destacar.

A relevância da certificação Rocketseat

As certificações da Rocketseat são um verdadeiro diferencial. Com um foco intenso na prática e em projetos reais, essas certificações mostram aos recrutadores que você é um desenvolvedor preparado para enfrentar desafios do mundo real, desde o consumo de APIs até a publicação de apps nas lojas. São uma marca de qualidade que validam suas habilidades e preparo técnico.

Construindo seu portfólio

Um portfólio sólido é a melhor forma de mostrar suas capacidades para potenciais empregadores. Durante a formação da Rocketseat, você terá a oportunidade de desenvolver projetos práticos como o Ignite Teams e o Ignite Gym, além de desafios avançados como o Marketspace. Esses projetos demonstram que você é capaz de criar interfaces atraentes e resolver problemas reais, o que pode impressionar recrutadores e abrir portas no mercado.

Conclusão

Aprender React Native abre as portas para um mercado em crescimento, permitindo que você construa aplicativos móveis eficientes para Android e iOS com uma única base de código. A formação em React Native é uma excelente oportunidade para acelerar seu aprendizado, com módulos que cobrem desde os fundamentos até tópicos avançados como Integração com Back-end e Animações Avançadas.
Lembre-se: o sucesso no desenvolvimento mobile requer consistência, prática e um forte portfólio. E é aqui que a Rocketseat pode fazer toda a diferença na sua jornada. Se você está pronto para enfrentar esse desafio, a Rocketseat estará ao seu lado, oferecendo todo o suporte necessário para você dominar React Native e se destacar no mercado.

Aprenda programação do zero e DE GRAÇA

No Discover você vai descomplicar a programação, aprender a criar seu primeiro site com a mão na massa e iniciar sua transição de carreira.

COMECE A ESTUDAR AGORA