Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

1ºAula
React Native I
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de: 
• entender o que é o React Native e quando utilizar ele, além de instalar as dependências para começar um novo 
projeto e já poder testar.
Olá, 
Bem-vindos(as) à disciplina Programação para Dispositivos 
Móveis. Para iniciar os nossos estudos, vamos mostrar os 
detalhes da plataforma que utilizaremos para desenvolver 
dispositivos móveis.
Nesta aula, estudaremos sobre a ferramenta React 
Native, vamos aprender também a instalar as dependências da 
ferramenta e como iniciar um novo projeto.
Leia atentamente esta aula e se tiver alguma dúvida, use os 
recursos que estão na sua área do aluno.
Bons estudos!
6Programação para Dispositivos Móveis
Seções de estudo
1- O que é React Native?
2- Instalação
3- Primeiro Projeto
1- O que é React Native?
Nesta disciplina ,você é convidado a explorar o mundo do 
desenvolvimento mobile, que por muito tempo fi cou restrito a 
desenvolvedores que detinham o conhecimento específi co das 
linguagens de programação nativas dos dispositivos móveis. 
Hoje, estão disponíveis no mercado diversas ferramentas que 
permitem que um mesmo código seja desenvolvido e que 
possa ser utilizado em multiplataformas (principalmente em 
Android e IOS).
Galante (2019) apresenta os melhores frameworks para o 
desenvolvimento de aplicativos. São eles: React Native, Ionic, 
Xamarin, Adobe PhoneGap, Flutter, Corona SDK, Jquery 
Mobile, Native Scripts e Mobile Angular UI.
Cada framework tem suas peculiaridades que devem ser 
levadas em consideração quando você for desenvolver um 
projeto, essa escolha cuidadosa pode facilitar ainda mais no 
decorrer do seu desenvolvimento (GALANTE, 2019).
Para esta disciplina o framework React Native foi 
escolhido para ser demonstrado, o que não desmerece o 
funcionamento e as vantagens dos outros, aqui é dado 
o pontapé inicial para o mundo do desenvolvimento 
multiplataforma para dispositivos móveis.
Pinho e Escudelario (2020) defi nem o React Native 
como um framework composto de ferramentas, baseadas no 
que há de melhor do desenvolvimento front-end (HTML, 
CSS e JS), que possibilitam o desenvolvimento de aplicações 
mobile nativas, para plataformas Android e IOS.
Citam ainda que é considerada a melhor opção do 
mercado, no quesito desenvolvimento mobile híbrido em 
JavaScript. Ela permite utilizar: ECMAScript 2015+ (ES6+), 
CSS Grid e Flexbox, JSX, além de contar com pacotes do 
npm.
O React Native é baseado no React, que é uma biblioteca 
JavaScript do Facebook para desenvolver interfaces com o 
usuário, porém direcionado para o navegador. Dessa forma 
permite que o conhecimento e facilidade de desenvolver 
em JavaScript possa ser aplicado para desenvolver um 
código compartilhado entre plataformas móveis distintas. 
(EISENMAN, 2015).
Uma primeira boa impressão pode ser obtida ao acessar 
o site offi cial do React Native (https://reactnative.dev), isso 
se dá pela diversidade de aplicações que são descritas como 
casos de uso utilizando esse framework, alguns deles podem 
ser observados na Figura 1. Alguns desses, inclusive, você 
pode ter instalado no seu dispositivo móvel.
Figura 1 – Quem está usando React Native? Fonte: FACEBOOK, 2020.
A grande vantagem do React Native é que ele converte 
o código desenvolvido para a linguagem nativa do sistema 
operacional do dispositivo, diferentemente de outras 
plataformas que criam uma webview e renderiza a aplicação 
sobre ela. Dessa forma a performance é otimizada, já que a 
aplicação estará rodando em código nativo e não dentro de 
um ‘navegador’ emulado dentro da aplicação (PINHO e 
ESCUDELARIO 2020).
O React Native então é capaz de traduzir o código em 
JavaScript para Elementos Nativos, deixando o visual muito 
mais fl uido de acordo com o dispositivo utilizado. Você 
pode então utilizar ferramentas que já está familiarizado 
para trabalhar com o JavaScript e desenvolver aplicações 
totalmente funcionais (EISENMAN, 2015).
Eisenman (2015) diz que quem já trabalhou com 
desenvolvimento mobile pode se assustar com a facilidade, já 
que a equipe de desenvolvimento do React Native o preparou 
com ferramentas robustas e não deixa a desejar quando o 
assunto é reportar erros, visto que as mensagens de erros 
são muito bem especifi cadas, o que torna a experiência de 
desenvolvimento muito mais rápida e agradável.
O debug é uma das ferramentas que estão incorporadas, 
através de um navegador todas as mensagens são exibidas, 
sejam os erros causados pela execução do código ou por logs 
que você pode ter inserido. 
Figura 2 – Interesse ao longo do tempo. Fonte: TRENDS, 2020.
A primeira menção do React Native foi em janeiro de 
2015, segundo o Google Trends, fazendo uma pesquisa 
pelos termos React Native, Android Development e IOS 
7
Development entre 1º de janeiro de 2014 e 1º de junho de 
2020 é possível, na Figura 2, observar como a pesquisa por 
React Native cresceu ao longo do tempo em detrimento do 
desenvolvimento em linguagem nativa.
Pinho e Escudelario (2020) destacam as vantagens do 
React Native transformar o código JavaScript em código 
nativo:
● Carregamento mais rápido da aplicação;
● Experiência mais fl uida do usuário;
● Mais segurança;
● Melhor integração entre as funções nativas do 
celular, tais como câmera e GPS.
● Melhor performance.
Eles apontam ainda as difi culdades do antigo 
desenvolvimento, visto que para um determinado projeto 
pudesse estar em duas plataformas (Android e IOS, por 
exemplo) você deveria ter desenvolvedores que estivessem 
aptos a desenvolver especifi camente para essas plataformas 
(Java/Kotlin para Android e Objective-C/Swift para iOS).
Se uma empresa quisesse desenvolver deveria pagar caro 
para manter várias equipes de desenvolvimento e este seria 
demorado, visto que não é possível reaproveitar o código de 
uma linguagem para outra.
Se essa mesma empresa optar por desenvolver com 
React Native o código é 100% reaproveitado, não precisa 
manter equipes distintas de desenvolvimento, o que fará 
com que o tempo e custo da produção de um projeto para 
multiplataforma se torne bem menor.
Para fi nalizar essa contextualização é importante 
salientar que o ecossistema do React Native está em constante 
evolução, seus mantenedores sempre estão em contato com 
a comunidade disponibilizando os lançamentos, discutindo e 
propondo funcionalidades.
2- Instalação
Para que o React Native funcione corretamente 
ferramentas precisam estar instaladas em seu ambiente de 
trabalho para que possam ser utilizadas corretamente. Algumas 
delas você já pode e deve ter utilizado, talvez você precisa 
ajustar alguns detalhes de versão para não ter problemas na 
execução. Abaixo, você verá quais são elas. (LEBENSOLD, 
2018).
1. Node 
Essa ferramenta habilita o seu computador a executar 
localmente códigos em JavaScript. Para instalar você deve 
acessar o site do Node.js (https://nodejs.org/en/) fazer o 
download e executar o instalador em sua máquina.
2. NPM
 O NPM é um gerenciador de pacotes que por meio de 
linhas de comando instala local e globalmente pacotes que 
estão disponíveis, sejam frameworks, bibliotecas, códigos de 
terceiros. Ao fazer a instalação do Node, por padrão o NPM 
também já é instalado.
3. Expo
No lançamento do React Native criar o ambiente de 
trabalho era bem complexo e desgastante, o Expo é um 
conjunto de ferramentas que fornece todo o ecossistema 
para criar, testar e rodar a aplicação, bem mais simplifi cado. 
(PINHO e ESCUDELARIO 2020).
Para instalar o Expo, você irá precisar antes ter o Node.js 
e o NPM devidamente instalados. Depois disso basta executar 
o código abaixo no terminal:
npm install expo-cli --global
Com isso, o Expo já estará instalado em sua máquina de 
maneira global, podendo ser executado em qualquer pasta que 
você quiser. Veremos como utilizar para iniciar o projeto na 
próxima seção.
Com o Expo é muito fácil de testar o seu projeto antes de 
colocar ele para produção, você pode instalar a aplicaçãono 
seu dispositivo móvel (Android Figura 3 e iOS Figura 4) para 
que vinculando com seu projeto ele rode sem a necessidade 
de instalar um simulador na sua máquina, que por vezes pode 
demandar muito dela.
Figura 3 – Aplicativo do Expo na Google Play.
Fonte: https://play.google.com/. Acesso em: 09/12/2020.
Figura 4 – Aplicativo do Expo na App Store.
Fonte: https://apps.apple.com/. Acesso em: 09/12/2020.
8Programação para Dispositivos Móveis
Com essas ferramentas instaladas já é possível iniciar um 
projeto novo (Seção 3) com o React Native.
3- Primeiro Projeto
Com as ferramentas devidamente instaladas é possível 
iniciar um novo projeto para o React Native. Primeiro, você 
deve escolher o diretório que o projeto será alocado. Com 
o terminal aberto e com a pasta devidamente selecionada o 
Expo será utilizado (Figura 5) para criar toda a estrutura de 
pastas e arquivos que um projeto em React Native depende 
para funcionar.
O seguinte código deve ser executado:
expo init nome-do-projeto 
Com isso o Expo criará um novo projeto já preparado 
para produção, e criará uma pasta com o nome-do-projeto 
que você escolher.
 
Figura 5 – Iniciando um novo projeto com o Expo.Fonte: Acervo pessoal.
O Expo dá a opção de criar um projeto utilizando 
um template já pronto, quando é escolhido ele realiza o 
download de todos os arquivos necessários para iniciar o 
desenvolvimento. Na Figura 6 mostra os tipos de template 
que podem ser escolhidos, pode iniciar um projeto em branco 
(blank) ou já com a navegação em abas (tabs). Não se assuste, 
como o download de toda a estrutura deve ser feito, esse 
processo pode demorar algum tempo.
Figura 6 – Seleção do template do Expo. Fonte: Acervo pessoal.
Ao fi nal da instalação, o seu projeto já está pronto para 
ser desenvolvido, na Figura 7 pode ser observado ainda os 
próximos passos que devem ser realizados para começar a 
utilizar. Primeiro, você precisa ‘subir’ para a pasta do projeto 
com o comando cd nome-do-projeto, e depois você pode 
executar com a ajuda do aplicativo Expo através do comando 
npm start, ou utilizar diretamente no dispositivo que você 
quer com os comandos npm run android, npm run ios, 
npm run web.
 
Figura 7 – Seleção do template do Expo. Fonte: Acervo pessoal.
Para não ter que instalar simuladores, nesta disciplina 
somente será utilizado o aplicativo Expo (para Android ou 
iOS). Então em todos os exemplos será executado o comando 
npm start, que irá criar um servidor http que vai gerenciar o 
arquivo e os acessos ao projeto pelo aplicativo. Na Figura 8, 
você pode observar que ele vai mostrar em qual url vai ser 
executado o Expo DevTools, se tudo estiver correto seu 
navegador irá abrir com a tela da Figura 9.
Figura 8 – npm start. Fonte: Acervo pessoal.
No Expo DevTools é possível encontrar o QR Code que 
fará a ligação com o aplicativo instalado no seu dispositivo 
móvel, mas também poderão ser encontrados do lado direito 
todos os logs, erros e warnings que ocorrerem durante a 
execução.
Figura 9 – Expo DevTools. Fonte: Acervo pessoal.
9
No dispositivo móvel com o Expo instalado você deverá 
fazer a leitura do QR Code (Scan QR Code) Figura 10. Ele 
irá vincular o seu projeto ao seu dispositivo, uma vantagem 
da utilização do Expo é que conforme você atualiza o código 
e salva, ele já atualiza o aplicativo em tempo real. Também 
na Figura 10 tem-se o aplicativo rodando e pronto para ser 
alterado, veremos como fazer isso nas próximas aulas.
Figura 10 – Aplicativo Expo / Projeto rodando no aplicativo. 
Fonte: Acervo pessoal.
Chegamos ao fi nal da primeira aula. Vamos recordar?
Retomando a aula
1- O que é React Native?
Na primeira seção, vimos o que é o React Native e suas 
vantagens.
2- Instalação
Na segunda seção, as dependências para começar um 
projeto foram apresentadas.
3- Primeiro Projeto
Na última seção, aprendemos a iniciar um projeto com o 
Expo e já começar a testar ele o aplicativo Expo instalado no 
dispositivo móvel.
GALANTE, V. R. In: Melhores frameworks para 
o desenvolvimento de aplicativos, 2019. Disponível em: 
https://usemobile.com.br/framework-desenvolvimento-
aplicativos-2019/. Acesso em: 20 jun. 2020.
FACEBOOK. In: React Native Learn once, write 
anywhere, 2020. Disponível em: https://reactnative.dev/. 
Acesso em: 20 jun. 2020.
TRENDS. In: Interesse ao longo do tempo 
React Native x Android Development x IOS 
Development, 2020. Disponível em: https://trends.
google.com/trends/explore?date=2014-01-01%20
2020-06-01&geo=US&q=React%20Native,Android%20
development,IOS%20development. Acesso em: 20 jun. 
2020.
Vale a pena acessar
PINHO, D. M.; ESCUDELARIO, B. React Native 
Desenvolvimento de aplicativos mobile com React. Editora Casa do 
Código, São Paulo, 2020.
EISENMAN, B. Learning React Native: Building Native 
Mobile Apps with JavaScript. O’Reilly Media, 2015.
BODUCH, A. React and React Native. Packt 
Publishing, 2017.
LEBENSOLD, J. React Native Cookbook: Bringing the 
Web to Native Platforms. O’Reilly Media, 2018.
Vale a pena ler
Vale a pena
Minhas anotações