0% acharam este documento útil (0 voto)
24 visualizações123 páginas

ARA0089 Slides

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
24 visualizações123 páginas

ARA0089 Slides

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

PROGRAMAÇÃO PARA DISPOSITIVOS

MÓVEIS EM ANDROID
Prof. Alessandro Larangeiras
2022
CONTEÚDO
1. SINTAXE E COMPONENTES DO REACT NATIVE
1.1 Ambiente de Desenvolvimento
1.2 Sintaxe JSX (JavaScript e XML)
1.3 Componentes Nativos do React Native
1.4 Depuração de Aplicativos
2. INTERFACE GRÁFICA COM REACT NATIVE
2.1 Construção da Interface e Interatividade
2.2 Listas e Outros Elementos Multivalorados
2.3 Estilização e Uso de Animações
2.4 Modelos de Navegação Entre Telas
3. PERSISTÊNCIA LOCAL COM REACT NATIVE
3.1 Uso de Dados Simples com AsyncStorage
3.2 Dados Estruturados com SQLite
3.3 Banco Orientado a Objetos com Realm
3.4 Bases NoSQL Usando MongoDB
2 / 123
CONTEÚDO (cont.)

4. CONEXÃO REMOTA COM REACT NATIVE


4.1 Componentes para Conexão em Rede
4.2 Persistência Remota com Rest
4.3 Controle de Acesso com OAuth 2.0
4.4 Implementação no Modelo Offline First

5. TÓPICOS AVANÇADOS EM REACT NATIVE (CRÉDITO DIGITAL)


5.1 Arquitetura MVC No React Native
5.2 Utilização do Modelo Flux
5.3 Criptografia no Armazenamento de Dados
5.4 Teste, Performance Tuning e Shipping

3 / 123
BIBLIOGRAFIA

Básica:
• PLOTZE, Rodrigo. Programação para Dispositivos Móveis. SESES: Rio de
Janeiro, 2017.
• DEITEL, P. Android: Como Programar. 2. ed. Rio de Janeiro: Bookman, 2015.
• SIMAS, Victor Luiz. Desenvolvimento para Dispositivos Móveis. Porto Alegre:
SAGAH, 2013. Vol. 2.

4 / 123
BIBLIOGRAFIA (cont.)

Recomendada:
• ANDROID Tutorial. 2021. Java T Point. Disponível em:
<https://www.javatpoint.com/android-tutorial>. Acesso em: 25 jul. 2021.
• REACT NATIVE Tutorial. 2022. Java T Point. Disponível em:
<https://www.javatpoint.com/react-native-tutorial>. Acesso em: 11 fev. 2022.
• REACT NATIVE Tutorial. 2022. Tutorials Point. Disponível em:
<https://www.tutorialspoint.com/react_native/index.htm>. Acesso em: 07 mar.
2022.
• POP, Florin; MEDLOCK, Jim. App Ideas Collection. Disponível em:
<https://github.com/florinpop17/app-ideas>. Acesso em: 18 ago. 2021.

5 / 123
SISTEMA AVALIATIVO DO MODELO AURA

Cálculo da média final do aluno:

AV1 + AV2 + AVD


≥ 6, 0
3

6 / 123
SISTEMA AVALIATIVO DO MODELO AURA (cont.)

Avaliações:
L AV1:
valerá 10 pontos (7 pontos da prova individual + 3 pontos das AAA – Atividades
Acadêmicas Avaliativas);
contemplará todos os temas abordados na disciplina até a data da prova.
L AV2:
valerá 10 pontos (prova individual);
contemplará os demais temas abordados a partir da AV1 ou conforme o formato
preestabelecido da disciplina.
L AVD – Avaliação Digital:
valerá 10 pontos (prova individual, realizada no campus virtual do aluno, no período
afixado no calendário acadêmico, sem necessidade de agendamento prévio);
contemplará os temas ou tópicos do crédito digital;
não substituirá a AV3.

7 / 123
SISTEMA AVALIATIVO DO MODELO AURA (cont.)

Avaliações substitutivas (em caso de falta, nota insuficiente, melhoria da nota):


Ò AV3: substituirá a AV1 ou a AV2 quando sua nota for maior e contemplará todos
os temas abordados na disciplina.
Ò AVDS – Avaliação Digital Substitutiva: substituirá a AVD quando sua nota for
maior e contemplará os temas ou tópicos do crédito digital.

8 / 123
"Treine enquanto eles dormem,
estude enquanto eles se divertem,
persista enquanto eles descansam
e então viva o que eles sonham."
– Muhammad Ali.

9 / 123
INTRODUÇÃO À COMPUTAÇÃO MÓVEL &
AO SISTEMA OPERACIONAL ANDROID

Fonte: Negative Space (Pexels).

10 / 123
COMPUTAÇÃO UBÍQUA

Computação ubíqua ou pervasiva é a «integração oculta de tecnologia em ambien-


tes humanos, de modo que os usuários possam acessar informações e funcionalida-
des a qualquer hora, em qualquer lugar.» (NAVARRO; PENICHET; PÉREZ, 2013, tradução nossa).

Para tanto, ela se baseia em três modelos básicos:


• dispositivos inteligentes (móveis, sem fio);
• ambientes inteligentes (dispositivos com sistemas embarcados); e
• interações inteligentes.
(POSLAD, 2009, tradução nossa)

11 / 123
COMPUTAÇÃO UBÍQUA (cont.)

Colheitadeira autônoma (Fonte: Britannica W ). Fazenda digital (fonte: Revista Globo Rural W ).

12 / 123
COMPUTAÇÃO MÓVEL

Computação móvel, «[...] definida de modo simples, é o uso de uma infraestrutura


de rede sem fio para prover comunicações e acesso a informação a qualquer hora,
em qualquer lugar.» (OTHMAN, 2008, p. 1, tradução nossa).

A computação móvel é composta por elementos de três categorias:


O comunicações móveis: infraestrutura que assegura uma comunicação ininter-
rupta, estável e confiável entre dispositivos móveis. Por exemplo: redes de co-
municação de dados fixas sem fio (modem Wi-Fi, hub Wi-Fi, repetidor Wi-Fi), e
redes de comunicação de dados móveis (3G, 4G);
Æ hardwares móveis: os dispositivos móveis propriamente ditos . Por exemplo:
smartphones, tablets, laptops, smart TVs, smart watches; computadores portá-

13 / 123
COMPUTAÇÃO MÓVEL (cont.)

teis (Rapsberry Pi), PDA – Personal Digital Assistants, computadores de bolso.


Principais características: dimensões reduzidas (em comparação com computa-
dores de mesa), portabilidade, capacidade de processamento e armazenamen-
to locais, conectividade sem fio e fonte de alimentação independente. Conforme
suas dimensões e capacidade de processamento, subdividem-se em: computa-
dores móveis, computadores de mão e computadores vestíveis;
ð softwares móveis: programas que comandam os dispositivos móveis, tais como
aplicativos, sistemas operacionais, firmwares, middlewares.
(MOBILE. . . , 2021).

14 / 123
COMPUTAÇÃO MÓVEL (cont.)

Smartphone: hardware móvel + software móvel + comunicação móvel (fonte: Energepic [Pexels]).

15 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
CARATERÍSTICAS

As principais plataformas de aplicações para dispositivos móveis são:


• Android: sistema operacional do Google para smartphones, tablets, smartTVs
(Android TV), carros (Android Auto) e relógios de pulso (Android Wear) de diver-
sos fabricantes, com suporte a Apps desenvolvidos nas linguagens Java, Kotlin,
C e C++;
• iOS: sistema operacional exclusivo para dispositivos da Apple: iPhone, iPad, iPod
e Apple TV, com suporte a Apps desenvolvidos em Objective-C, Swift e C/C++;
• Windows Phone: sistema operacional da Microsoft, pertencente à família
Windows Mobile (Windows CE), com suporte a Apps desenvolvidos em C#,
C/C++ e Visual Basic;
• Adobe Air: plataforma de execução da Adobe para dispositivos móveis, com su-
porte a soluções de software desenvolvidas em HTML, JavaScript, ActionScript e
Flex;

16 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS (cont.)
CARATERÍSTICAS

• BlackBerry OS: sistema operacional exclusivo para dispositivos da Blackberry,


com suporte a aplicativos voltados ao mercado corporativo e desenvolvidos nas
linguagens C/C++ e Java ME; foi substituído oficialmente em 2016 pelo Android;
• Symbian OS: sistema operacional da Nokia para smartphones, com suporte a
Apps desenvolvidos na linguagem C++; foi descontinuado em 2015;
• Java ME – Micro Edition: plataforma de execução da Oracle originalmente dedi-
cada a sistemas embarcados e atualmente voltada a soluções de IoT – Internet
of Things (Internet das Coisas).
(PLOTZE, 2017, p. 9).

Os Apps destas plataformas são disponibilizados independentemente ou comercia-


lizados nas lojas de aplicativos de seus respectivos fabricantes: Google Play Store,
Apple Store, Windows Phone Store, BlackBerry World App Store.

17 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
ABORDAGENS

Abordagens para o desenvolvimento de Apps de dispositivos móveis:


• nativa: com a linguagem de programação suportada e o SDK – Software
Development Kit específico da plataforma móvel;
• Web mobile: com tecnologia Web (HTML, CSS e Javascript), design responsivo,
multiplataforma, empacotado como App;
• híbrida: mescla as abordagens nativa e Web mobile, em uma solução específica
da plataforma móvel;
• multiplataforma: emprega uma ferramenta proprietária (por exemplo, Xamarin
W) capaz de gerar aplicações para várias plataformas móveis diferentes.

18 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
MONETIZAÇÃO

Monetizar: converter em moeda, usar algo como fonte de lucro ou rendimento


(MONETIZAR, 2021). Alguns modelos de monetização:

• gratuito: sem custo e sem exibição de anúncios;


• gratuito com anúncios: sem custo e com exibição de anúncios de patrocina-
dores ou direcionados por plataforma especializada em publicidade (Google
Admob, Facebook Audience Network);
• gratuito com compras associadas: sem custo para recursos limitados e venda
de recursos extras (Candy Crush);
• gratuito com taxa embutida: sem custo, mas com taxa aplicada sobre o serviço
adquirido (Uber, IFood);
• pago: com custo em cobrança única;
• assinatura: com custo em cobrança periódica (Netflix, Spotify).
(NERI, 2017; CINCO. . . , 2021).

19 / 123
SISTEMA OPERACIONAL ANDROID
PLATAFORMA E ARQUITETURA

Principais características:
• suporta Apps desenvolvidos nas linguagens Java, Kotlin, C e C++;
• mantido pelo Google em parceria com a Open Handset Alliance – OHA, um con-
sórcio de fabricantes de aparelhos celulares (Samsung, LG, HTC etc.), operado-
ras de telefonia móvel (Telecom Italia, Telefónica, Vodafone etc.), companhias de
desenvolvimento de software (Google, eBay, PacketVideo etc.) e fabricantes de
semicondutores (ARM, Intel, Nvidia etc.) (ABLESON; SEN; KING, 2011; PLOTZE, 2017);
• idealizado inicialmente para câmeras e depois direcionado para smartphones;
• lançamento do primeiro Android Mobile em 2008 para smartphones da HTC
(ANDROID. . . , 2021).
Veja mais sobre a história do sistema operacional Android no
canal TecMundo (YouTube) W .

20 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

Codinomes, versões e APIs:

Codinome Versão Lançamento API


1.0 23/09/2008 1
Sem codinome oficial
1.1 09/02/2009 2
Cupcake 1.5 27/04/2009 3
Donut 1.6 15/09/2009 4
2.0 27/10/2009 5
Eclair 2.0.1 03/12/2009 6
2.1 11/01/2010 7
Froyo 2.2 a 2.2.3 20/05/2010 8
2.3 a 2.3.2 06/12/2010 9
Gingerbread
2.3.3 a 2.3.7 09/02/2011 10

21 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

Codinome Versão Lançamento API


3.0 22/02/2011 11
Honeycomb 3.1 10/05/2011 12
3.2 a 3.2.6 15/07/2011 13
4.0 a 4.0.2 18/10/2011 14
Ice Cream Sandwich
4.0.3 a 4.0.4 16/12/2011 15
4.1 a 4.1.2 09/07/2012 16
Jelly Bean 4.2 a 4.2.2 13/11/2012 17
4.3 a 4.3.1 24/07/2013 18
4.4 a 4.4.4 31/10/2013 19
KitKat
4.4W a 4.4W.2 25/06/2014 20
5.0 a 5.0.2 04/11/2014 21
Lollipop
5.1 a 5.1.1 02/03/2015 22
Marshmallow 6.0 a 6.0.1 02/10/2015 23

22 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

Codinome Versão Lançamento API


7.0 22/08/2016 24
Nougat
7.1 a 7.1.2 04/10/2016 25
8.0 21/08/2017 26
Oreo
8.1 05/12/2017 27
Pie 9 06/08/2018 28
Android 10 10 03/09/2019 29
Android 11 11 08/09/2020 30
Android 12 12 04/10/2021 31
Android 13 13 em breve 32

Fonte: Histórico de versões do Android (Wikipédia) W .

23 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

Suporte das versões:


ð 1.0 a 8.0: versão antiga não mantida;
ð 8.1 a 10: versão antiga ainda mantida;
ð 11 a 12: versão estável atual;
ð 13: versão futura.
Fonte: Histórico de versões do Android (Wikipédia) W .

24 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

«Android é uma plataforma de software [...] para dispo-


sitivos móveis, não uma plataforma de hardware. Ele
inclui um sistema operacional baseado no kernel do
Linux, uma interface de usuário rica, aplicações para
usuários finais, bibliotecas de código, frameworks de
aplicações, suporte de multimídia e muito mais. E,
sim, até a funcionalidade de telefone está incluída!»
(ABLESON; SEN; KING, 2011, p. 4, tradução nossa).

Plataforma de software do Android


(ABLESON; SEN; KING, 2011, p. 4).

25 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA

Arquitetura do sistema
operacional Android (JAIN,
2014).

26 / 123
SISTEMA OPERACIONAL ANDROID
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO

Ambientes e ferramentas de desenvolvimento básicos:


• Android SDK – Software Development Kit: API – Application Programming
Interface, depurador, emulador etc.;
• IDE – Integrated Development Environment: Android Studio (também insta-
la, mantém e gerencia o Android SDK);
• hardware: dispositivo móvel físico (smartphone, tablet) ou emulado.
(K19, 2012; PLOTZE, 2017).

27 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO

Android Studio
(fonte: O Autor).

28 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO

Ícone do gerenciador do Android


Virtual Device (AVD) no Android Studio
(fonte: O Autor).

Gerenciador do Android Virtual Device (AVD) (fonte: O Autor).

29 / 123
SINTAXE E COMPONENTES DO REACT NATIVE

Fonte: Mundo JS W .

30 / 123
REACT NATIVE
CARACTERÍSTICAS

• Estende o React em algumas sintaxes e funcionalidades específicas para apli-


cativos móveis (fonte: Teodora Corbu [Digitalya] W );
• Lançado pelo Facebook em 2015 (fonte: React Native Developers W );
• Apps desenvolvidos com o React Native: Facebook, Instagram, Uber Eats,
Discord, Skype, entre outros (fonte: React Native Developers W );
• Linguagem de programação: JavaScript;
• Portabilidade para diferentes plataformas de sistema operacional, por meio do
renderizador do React (um ambiente de execução de JavaScript, similar à má-
quina virtual do Java [JVM]), baseado na filosofia "Learn Once, Write Anywhere"
("Aprenda Uma Vez, Escreva Para Qualquer Lugar") (fonte: React Native Developers W ,
Teodora Corbu [Digitalya] W , Jun Kaneko [DEV] W , Shailesh [Medium] W ) . Principais sistemas
operacionais suportados atualmente: a partir do Android 5.0 (API 21) e do iOS
11.0 (fonte: React Native [Github] W ).

31 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS

Assista ao vídeo Dicionário do Programador: React Native W , do canal Código


Fonte TV (YouTube), para mais características e detalhes do React Native.

32 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS

React Native: renderizadores do React (fonte: Shailesh [Medium] W ).

33 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS

React Native: renderizadores do React na perspectiva dos componentes (controles visuais)


(fonte: Shailesh [Medium] W ).

34 / 123
REACT NATIVE
AMBIENTE DE DESENVOLVIMENTO

Montagem do ambiente de desenvolvimento do React Native:


1. NodeJS: ambiente de execução de JavaScript do lado do servidor (server-side)
e pré-requisito do React Native. Configuração:
i. No website do NodeJS W , instale a versão LTS (Long Term Support) mais recente.
ii. Verifique se a instalação foi realizada com sucesso, digitando o seguinte comando
no terminal: node -v
2. Gerenciador de pacotes: ferramenta que realiza as instalações essenciais e a
operação do ambiente de desenvolvimento. São necessários os seguintes geren-
ciadores de pacotes:
• NPM – Node Package Manager. Instalado junto com o NodeJS;
• Yarn W . Para a sua instalação, digite o seguinte comando no terminal:
npm install -g yarn

35 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO

3. Expo CLI – Command Line Interface: gerenciador de criação e execução de


projetos do React Native. Configuração:
3.1 No website do Expo W , consulte o comando a ser digitado no terminal para a sua
instalação, tal como: npm install -g expo-cli
3.2 Verifique se a instalação foi realizada com sucesso, reabrindo o terminal e digitan-
do o seguinte comando: expo --version
4. Desenvolvimento do App:
4.1 Crie o projeto do App, navegando pelo terminal até o diretório desejado e digitando
o seguinte comando: expo init nome_do_projeto
4.2 Ainda no terminal, acesse o diretório do projeto e abra-o na IDE Visual Studio
Code, digitando o seguinte comando: code .
4.3 Inicialize o emulador do dispositivo móvel ou conecte o dispositivo móvel físico
ao computador. Ele deve ter acesso à loja de aplicativos para que o Expo realize a

36 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO

instalação do App Expo Client, necessário para a comunicação com o servidor


Metro Bundler. Atenção: caso seja utilizado o emulador, AGUARDE o término da
sua inicialização antes de prosseguir;
4.4 Inicialize o servidor Metro Bundler, responsável por enviar as atualizações do pro-
jeto em desenvolvimento ao App Expo Client. Para tanto, digite o seguinte coman-
do no terminal: yarn start
4.5 Estabeleça a conexão entre o servidor Metro Bundler e o App Expo Client, digitan-
do o seguinte comando no terminal: a
4.6 Caso seja necessário acessar as funcionalidades do dispositivo móvel e do siste-
ma operacional (Android ou iOS), como lista de contatos, câmera, GPS – Global
Positioning System etc., instale também os componentes do Expo SDK – Soft-
ware Development Kit. No website do Expo W , consulte o comando a ser digita-
do no terminal para a sua instalação, tal como:
expo install expo-camera expo-contacts expo-sensors

37 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO

Assista ao vídeo Workshop React Native do Zero (Parte 1) W , do canal Sujeito


Programador (YouTube), para acompanhar a montagem de um ambiente de de-
senvolvimento composto pelo React Native, Expo e emulador do Android Studio
(até 00:15:56).

38 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION

HTML – HyperText Markup Language:


1 <! DOCTYPE HTML >
2 <html >
3 <head >
4 <meta http - equiv ="Content -Type" content ="text/html" />
5 <title >Titulo da pagina </title >
6 </head >
7 <body >
8 <h1 >Titulo do artigo </h1>
9 <h3 >Em 04/09/2021 , por <a href="#">Autor </a></h3 >
10 <p>Paragrafo do artigo .</p>
11 </body >
12 </html >

39 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)

XML – eXtensible Markup Language:


1 <?xml version ="1.0"?>
2 <PurchaseOrders xmlns ="www. contoso .com">
3 <PurchaseOrder Number =" 99503 " Date="1999 -10 -20">
4 <Address Type=" Shipping ">
5 <Name >Ellen Adams </Name >
6 <Street >123 Maple Street </ Street >
7 <City >Mill Valley </City >
8 <State >CA </ State >
9 <Zip >10999 </Zip >
10 <Country >USA </ Country >
11 </ Address >
12 </ PurchaseOrder >
13 </ PurchaseOrders >

40 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)

O JSX – JavaScript Syntax eXtension, como o próprio nome sugere, é uma coleção
de palavras-chave, na forma de tags inspiradas em XML e HTML, que estendem a
sintaxe do JavaScript, a linguagem de programação suportada pelo React Native (fonte:
Cairo Noleto [Trybe] W ).

O código-fonte escrito a partir do JSX é interpretado em um ambiente de execução de


JavaScript e suas tags, convertidas para os controles visuais nativos (widgets) do sis-
tema operacional alvo (Android ou iOS) (fonte: Facebook [Github] W ).

41 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)
1 import React from ’react ’;
2 import { View , Text , StyleSheet } from ’react - native ’;
3
4 export default function App () {
5 return (
6 // sintaxe JSX.
7 <View style ={ styles . container }>
8 <Text >Hello , World !</Text >
9 </View >
10 );
11 }
12
13 const styles = StyleSheet . create ({
14 container: {
15 flex: 1,
16 backgroundColor: ’#fff ’,
17 alignItems: ’center ’,
18 justifyContent: ’center ’,
19 },
20 });

42 / 123
COMPONENTES NATIVOS DO REACT NATIVE

Principais componentes (controles visuais – widgets) do React Native:


/ <View> – contêiner de controles visuais;
/ <Text> – rótulo (label) de texto estático;
/ <Image> – contêiner de exibição de imagens;
/ <TextInput> – caixa de texto dinâmico;
/ <ScrollView> – contêiner de barras de rolagem do controle visual nela inserido;
/ <Button> – botão de ação;
/ <Switch> – chave seletora (habilitado/desabilitado);
/ <StatusBar> – barra de status (no topo do App).
(Fonte: React Native Developers W ).

43 / 123
COMPONENTES NATIVOS DO REACT NATIVE (cont.)

Leia o artigo Core Components and APIs W , do website React Native Developers,
para conhecer a documentação dos componentes do React Native (sintaxe e propri-
edades), bem como para analisar as vantagens e desvantagens de se utilizar contro-
les visuais exclusivos de determinada plataforma de sistema operacional alvo, como
o ToastAndroid.

44 / 123
COMPONENTES NATIVOS DO REACT NATIVE (cont.)

Assista ao vídeo Workshop React Native do Zero (Parte 1) W , do canal Sujeito


Programador (YouTube), para acompanhar uma implementação básica que em-
pregue os componentes nativos do React Native <Text>, <TextInput> e <Button>,
bem como sua estilização em JSX (a partir de 00:15:56).

45 / 123
DEPURAÇÃO DE APPS

A depuração (debugging) de Apps desenvolvidos


com o React Native é realizada pressionando-se as
teclas Ctrl + M no emulador do Android ou chacoa-
lhando-se o dispositivo móvel físico, de modo a abrir
uma janela do navegador Web (fonte: React Native Developers
W , Diego Fernandes [Rocketseat] W ).

Menu do depurador (fonte: React Native


Developers W ).

46 / 123
DEPURAÇÃO DE APPS (cont.)

Assista ao vídeo Depurando no React Native W , do canal Catapulta Dev (YouTube),


para acompanhar a execução da depuração de um código-fonte implementado com o
React Native.

47 / 123
INTERFACE GRÁFICA COM REACT NATIVE

Fonte: Creative Tim (GitHub) W .

48 / 123
INTEFACE GRÁFICA & INTERATIVIDADE

«Wireframe é um desenho básico da es-


trutura de determinada interface que de-
monstra de forma simplificada como o
produto final deverá funcionar.» (TEIXEIRA,
2014, p. 41, grifo nosso).

Wireframes são utilizados para se projetar


Interfaces Gráficas de Usuário (GUI –
Graphical User Interfaces), especialmente
de Apps móveis e Websites.
Exemplo de wireframe (TEIXEIRA, 2014, p. 42).

49 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

«Protótipos são versões interativas dos wireframes, onde é possível clicar ou intera-
gir com algumas partes da tela para simular como será o seu funcionamento – mesmo
que a funcionalidade ainda não tenha sido implementada [...].» (TEIXEIRA, 2014, p. 56, grifo
nosso).

Os protótipos podem ser construídos com uma ferramenta de wireframing, que atri-
buirá comportamento aos controles visuais (widgets) e definirá links entre as telas
(TEIXEIRA, 2014, p. 54).

50 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

Um protótipo navegável em desenvolvimento na


ferramenta de wireframing Moqups (Fonte: Moqups W).

51 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

UX – User Experience Design é o aperfeiçoamento da usabilidade da GUI para que


o usuário tenha a melhor experiência e se engaje no uso do App ou website (TEIXEIRA,
2014, p. 1-2).

«Quando você usa algum [objeto] [...], você tem uma experiência. Se você já ficou
nervoso na frente do caixa eletrônico porque ele não entregou o dinheiro que você
estava esperando e não deu nenhuma explicação sensata sobre o motivo da recu-
sa, você possivelmente teve uma péssima experiência enquanto usuário do caixa
eletrônico.» (TEIXEIRA, 2014, p. 2).

52 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

«"A maioria das pessoas acredita que User Experience é somente encontrar a melhor
solução para os seus usuários – mas não é. UX se trata sobre definir o problema que
precisa ser resolvido (o porquê), definir para quem esse problema precisa ser resolvi-
do (o quem), e definir o caminho que deve ser percorrido para resolvê-lo (o como)." –
Whitney Hess» (TEIXEIRA, 2014, p. 2).

«O que UX Design não é? Para começo de conversa: UX Design não é direção de ar-
te. Também não é planejamento, não é gerência de projetos, não é desenvolvimento
de software. UX faz o meio de campo entre todas essas disciplinas, garantindo que
todas elas estejam caminhando juntas em direção a um mesmo objetivo. É o UX de-
signer, por exemplo, que traduz a estratégia criada pelo planejador em forma de telas
e fluxos que serão utilizados pelo usuário.» (TEIXEIRA, 2014, p. 12).

53 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

Subdisciplinas do Design de Experiência


de Usuário (TEIXEIRA, 2014, p. 3).

54 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

KRUG, Steve. Não me Faça Pensar. 1a ed. atual.


[S.l.]: Alta Books, 2014.

55 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)

Layout do sistema MedSys, proposto para implementação no React Native (Fonte: O Autor).

56 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS

Assista ao vídeo Material Components: Lists W , do canal Material Design


(YouTube), para conhecer os controles visuais (widgets) em forma de lista do
pacote de componentes Material Design, do Google. Atenção: ative as legen-
das para o idioma português.

57 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Leia o artigo Material Components: Lists W , do website Material Design, para


conhecer a documentação dos controles visuais (widgets) em forma de lista do
pacote de componentes Material Design, do Google.

58 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Controles visuais em forma de lista simples, do pacote Material Design,


com uma, duas e três linhas (Fonte: Material Design W ).

59 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Controle visual em forma de lista categorizada, do


pacote Material Design (Fonte: Material Design W ).

60 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Controle visual em forma de lista, do


pacote Material Design, configurado no
estilo de um carrinho de compras (Fonte:
Material Design W ).

61 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Principais componentes (controles visuais – widgets) do React Native em forma de


lista:
/ <FlatList> – listagem simples;
/ <SectionList> – listagem categorizada;
/ <VirtualizedList> – listagem longa (indicada para situações em que a quan-
tidade de itens extrapola o espaço visível da tela, por proporcionar flexibilidade,
desempenho e menor consumo de memória).
(Fonte: React Native Developers W ).

62 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Assista ao vídeo Entenda como Usar o Componente FlatList do React Native W ,


do canal Fernando Belotto (YouTube), para acompanhar uma implementação básica
que empregue o componente nativo do React Native <FlatList>.

63 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)

Assista ao vídeo Criando o componente SectionList W , do canal Canal Geek Dev


(YouTube), para acompanhar uma implementação básica que empregue o componen-
te nativo do React Native <SectionList>.

64 / 123
SITUAÇÃO-PROBLEMA

Aplicativos comerciais raramente utilizam uma única tela e exi-


gem padrões de design que estejam alinhados com as atuais
exigências de responsividade e usabilidade, tal como a propos-
ta minimalista e com formas planas do pacote de componentes
Material Design, do Google.

Para que nossos aplicativos satisfaçam estes requisitos, como


deve ser elaborada a estilização e a navegação entre telas no
React Native?

65 / 123
ESTILIZAÇÃO E USO DE ANIMAÇÕES

Assista ao vídeo React Native Basics: Layout with Flexbox (en-US) W , do canal
React Native School (YouTube), para acompanhar a estilização dos controles visuais
(widgets) do React Native, ou seja, sua diagramação em uma folha de estilos. Aten-
ção: ative as legendas para o idioma português.

66 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS

Assista ao vídeo Material Moment: Choosing the Right Navigation (en-US) W , do


canal Material Design (YouTube), para conhecer algumas estratégias de navegação
entre telas. Atenção: ative as legendas para o idioma português.

67 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Leia o artigo Material Components: Bottom Navigation W , do website Material


Design, para conhecer a documentação desta estratégia de navegação do pacote
de componentes Material Design, do Google.

68 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Leia o artigo Material Components: Navigation Drawer W , do website Material


Design, para conhecer a documentação desta estratégia de navegação do pacote
de componentes Material Design, do Google.

69 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Leia o artigo Material Components: Tabs W , do website Material Design, para


conhecer a documentação desta estratégia de navegação do pacote de compo-
nentes Material Design, do Google.

70 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Principais componentes do React Native para navegação entre telas:


• Stack: empilha as janelas/telas, possibilitando a navegação por meio do clique
de um botão ou pelo deslizar da tela com o dedo (swipe);
• Drawer: disponibiliza uma aba lateral deslizável, com menus de navegação;
• Tab: adiciona abas de navegação na base ou no topo da tela.
(Fonte: React Navigation W ).

71 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Assista ao vídeo Navegação entre Telas no React Native com o StackNavigator W ,


do canal Leandro Guarino (YouTube), para acompanhar uma implementação básica
que empregue esta estratégia de navegação entre telas.

72 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)

Leia o artigo React Navigation: Stack, Tab and Drawer Navigation in Same React
Native Application W , do website Medium, para conhecer mais sobre estas três es-
tratégias de navegação do React Native.

73 / 123
PERSISTÊNCIA LOCAL COM REACT NATIVE

Fonte: ASAP Developers W.

74 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE

«[...] [A biblioteca AsyncStorage] é uma API de armazenagem de dados assíncro-


na, não-criptografada e persistente, do tipo chave-valor.

Bem, são muitos adjetivos para uma API – Application Programming Interface. Va-
mos desmembrar esta terminologia. Assíncrono significa que cada um dos seus
métodos retorna um objeto que pode ser do tipo Promise [(objeto dedicado a co-
municações assíncronas, com garantias superiores ao modelo de callback)] ou
Error. Ela é não-criptografada, então cuidado ao utilizá-la para armazenar da-
dos sensíveis. Ser persistente quer dizer que ela salva os dados, independente
se o usuário encerrar o App ou o dispositivo. Finalmente, o par chave-valor é o
modo como os dados são armazenados.» (Fonte: ASAP Developers W , tradução nossa).

75 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)
«Por que você deveria utilizá-la? Em primeiro lugar, ela é uma solução leve que não
envolve banco de dados, servidor ou mesmo uma conexão de Internet. Essa parece
ser uma boa escolha, mas lembre-se de que é apenas uma dentre muitas alternativas
de armazenagem de informação e compartilhamento de dados para o seu App – e
que nem sempre pode ser a melhor.

Então, a pergunta realmente importante é quando utilizar o AsyncStorage. Baseado


nas características mencionadas, pode-se deduzir quais situações são apropriadas e
quais são contraindicadas.

Esta biblioteca geralmente é substituída pelo React Context ou Redux, mas, apesar
de terem a mesma finalidade, eles não são a mesma coisa. Principalmente porque o
React Context e o Redux armazenam dados na memória, que é apagada quando o
App se encerra, e o AsyncStorage salva os dados persistentemente no dispositivo,
semelhante ao armazenamento local utilizado por aplicações Web.» (Fonte: ASAP
Developers W , tradução nossa).

76 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)

Assista ao vídeo Utilizando o AsyncStorage no React Native W , do canal Gabriel


Mello (YouTube), para acompanhar uma implementação básica que empregue esta
estratégia de persistência de dados.

77 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)

Leia o artigo React Native Asyncstorage W , do website ASAP Developers, para


detalhes sobre este método de persistência de dados. Observe principalmente, no
início do artigo, a informação de que esta biblioteca não faz mais parte da API pa-
drão do React Native, sendo mantida pela comunidade.

78 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)

Leia o artigo How To Use React Native AsyncStorage W , do website Jscrambler,


para conhecer mais este método de persistência de dados.

79 / 123
DADOS ESTRUTURADOS COM SQLITE

Assista ao vídeo Dicionário do Programador: SQLite, O Banco de Dados de Bolso


W , do canal Código Fonte TV (YouTube), para conhecer este método de persistência
de dados.

80 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)

Assista ao vídeo Persistência de Dados com SQLite via Promise W , do canal


Andres Jesse (YouTube), para acompanhar uma implementação básica que em-
pregue esta estratégia de persistência de dados.

81 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)

Assista ao vídeo Workshop React Native do Zero (Parte 2) W , do canal Sujeito


Programador (YouTube), para acompanhar uma implementação completa empre-
gando componentes nativos do React Native e o SQLite para persistência de dados.

82 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)

Para conhecer mais sobre bancos de dados SQL e o SQLite, consulte o conteúdo
digital da disciplina de Programação para Dispositivos Móveis em Android, no te-
ma 3, módulo 2.

83 / 123
BANCO ORIENTADO A OBJETOS COM REALM

Assista ao vídeo Object Oriented Database W , do canal Tan Kian Ho/UPM


(YouTube), para uma breve introdução sobre bancos de dados de orientados
a objetos. Atenção: ative as legendas para o idioma português.

84 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)

Leia o artigo Iniciação ao Realm W , do website Android Dev BR, para uma introdu-
ção ao banco de dados Realm.

85 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)

Para conhecer mais sobre bancos de dados orientados a objetos e o Realm, consulte
o conteúdo digital da disciplina de Programação para Dispositivos Móveis em Android,
no tema 3, módulo 3.

86 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)

Assista ao vídeo Escrita e Leitura de Dados com React Native + Realm W , do


canal Quebrando Paradigmas (YouTube), para acompanhar uma implementação
envolvendo persistência de dados com o Realm.

87 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)

Assista ao vídeo React Native + RealmDB: App do Zero W , do canal Rocketseat


(YouTube), para acompanhar outra implementação envolvendo persistência de da-
dos com o Realm.

88 / 123
BASES NOSQL USANDO MONGODB

Assista ao vídeo Dicionário do Programador: NoSQL W , do canal Código Fonte TV


(YouTube), para uma introdução sobre bancos de dados NoSQL.

89 / 123
BASES NOSQL USANDO MONGODB (cont.)

Assista ao vídeo Dicionário do Programador: MongoDB, O Banco de Dados


NoSQL Mais Legal W , do canal Código Fonte TV (YouTube), para uma introdu-
ção a banco de dados NoSQL MongoDB.

90 / 123
BASES NOSQL USANDO MONGODB (cont.)

Para conhecer mais sobre bancos de dados NoSQL e o MongoDB, consulte o con-
teúdo digital da disciplina de Programação para Dispositivos Móveis em Android, no
tema 3, módulo 4.

91 / 123
BASES NOSQL USANDO MONGODB (cont.)

Assista ao vídeo React-Native + MongoDB: Criando o Schema do


MongoDB W , do canal Codae Treinamentos (YouTube), para acom-
panhar uma implementação envolvendo persistência de dados com o
MongoDB.

92 / 123
CONEXÃO REMOTA COM REACT NATIVE

Fonte: Negative Space (Pexels).

93 / 123
COMPONENTES PARA CONEXÃO EM REDE

Para conhecer os principais componentes para conexão em rede, consulte o conteúdo


digital da disciplina de Programação para Dispositivos Móveis em Android, no tema 4,
módulo 1.

94 / 123
PERSISTÊNCIA REMOTA COM REST

Para conhecer o processo de persistência remota usando a arquitetura REST, con-


sulte o conteúdo digital da disciplina de Programação para Dispositivos Móveis em
Android, no tema 4, módulo 2.

95 / 123
PERSISTÊNCIA REMOTA COM REST (cont.)

Assista ao vídeo Consumindo Dados de Uma API com React Native W , do canal
Stack Mobile (YouTube), para acompanhar uma implementação envolvendo integra-
ção com uma API RESTful.

96 / 123
CONTROLE DE ACESSO COM OAUTH 2.0

Assista ao vídeo Dicionário do Programador: OAuth 2 W , do canal Código Fonte TV


(YouTube), para uma introdução sobre este protocolo de controle de acesso.

97 / 123
CONTROLE DE ACESSO COM OAUTH 2.0 (cont.)

Para conhecer mais sobre o protocolo OAuth 2.0, consulte o conteúdo digital da dis-
ciplina de Programação para Dispositivos Móveis em Android, no tema 4, módulo 2.

98 / 123
CONTROLE DE ACESSO COM OAUTH 2.0 (cont.)

Assista ao vídeo Login Social com OAuth2 no React Native W , do canal Rocketseat
(YouTube), para acompanhar uma implementação envolvendo integração com o proto-
colo OAuth 2.0.

99 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST

Assista ao vídeo Como Utilizar Offline First com React Native? W , do canal
Rocketseat (YouTube), para uma rica introdução sobre este modelo de conexão
remota.

100 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST (cont.)

Para conhecer mais sobre o modelo Offline First, consulte o conteúdo digital da dis-
ciplina de Programação para Dispositivos Móveis em Android, no tema 4, módulo 3.

101 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST (cont.)

Assista ao vídeo Offline First: Apps que Funcionam sem Internet W , do canal
Rocketseat (YouTube), para acompanhar uma implementação envolvendo o mo-
delo de conexão remota Offline First.

102 / 123
TÓPICOS AVANÇADOS EM REACT NATIVE (CRÉDITO DIGITAL)

Fonte: Negative Space (Pexels).

103 / 123
ARQUITETURA MVC NO REACT NATIVE

Assista ao vídeo Dicionário do Programador: MVC W , do canal Código Fonte TV


(YouTube), para uma introdução sobre o padrão arquitetural MVC – Model-View-
Controler.

104 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)

Para conhecer mais sobre o padrão arquitetural MVC – Model-View-Controler, con-


sulte o conteúdo digital da disciplina de Programação para Dispositivos Móveis em
Android, no tema 5, módulo 1.

105 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)

Leia o artigo React Native com Mobx W , do website Antonio Lopes (Medium), para
uma introdução sobre o Mobx, biblioteca de gerenciamento de estado de objetos que
será utilizada nos vídeos do exemplo de implementação apresentados a seguir.

106 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)

Assista ao vídeo Applying MVC in React Native: Creating Model W , do canal Pham
Quang Vi (YouTube), para acompanhar a implementação da camada Model do padrão
arquitetural MVC.

107 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)

Assista ao vídeo Applying MVC in React Native: Creating Controller W , do canal


Pham Quang Vi (YouTube), para acompanhar a implementação da camada Controller
do padrão arquitetural MVC.

108 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)

Assista ao vídeo Applying MVC in React Native: Creating View W , do canal Pham
Quang Vi (YouTube), para acompanhar a implementação da camada View do padrão
arquitetural MVC.

109 / 123
UTILIZAÇÃO DO MODELO FLUX

Assista ao vídeo Flux e Redux: O Que Houve Com o MVC? W , do canal Locaweb
(YouTube), para uma introdução ao padrão arquitetural Flux e o framework Redux,
que abstrai a sua implementação.

110 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)

Para conhecer mais sobre o padrão arquitetural Flux e o framework Redux, consulte o
conteúdo digital da disciplina de Programação para Dispositivos Móveis em Android,
no tema 5, módulo 2.

111 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)

Assista ao vídeo Desvendando o Redux na Prática W , do canal Rocketseat


(YouTube), para uma discussão sobre o emprego do padrão arquitetural Flux
e do framework Redux.

112 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)

Assista ao vídeo React Native e Redux W , do canal Wesley Bruno (YouTube), para
acompanhar uma implementação do padrão arquitetural Flux.

113 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS

Para conhecer os processos de criptografia empregados no armazenamento de dados


do React Native, consulte o conteúdo digital da disciplina de Programação para Dispo-
sitivos Móveis em Android, no tema 5, módulo 3.

114 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS (cont.)

Assista ao vídeo Como Funciona a Codificação Base64 W , do canal Gean Marques


(YouTube), para saber mais sobre o processo de codificação Base64.

115 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS (cont.)

Assista ao vídeo Encrypt/Decrypt to Base64 in React Native W , do canal Fullstack


Techies (YouTube), para acompanhar uma implementação utilizando o processo de
codificação Base64. Atenção: ative as legendas para o idioma português.

116 / 123
TESTE, PERFORMANCE TUNING E SHIPPING

Para conhecer as metodologias de teste, de performance tuning e de shipping empre-


gadas no React Native, consulte o conteúdo digital da disciplina de Programação para
Dispositivos Móveis em Android, no tema 5, módulo 4.

117 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)

Leia o artigo Automatização de CI/CD de Apps com React Native W , do website


Jusbrasil Tech, para conhecer o uso de importantes ferramentas de CI – Continuous
Integration e CD – Continuous Delivery com o React Native.

118 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)

Assista ao vídeo Testes Automatizados no React Native W , do canal CodarMe


(YouTube), para acompanhar a implementação e execução de testes de unidade
no React Native.

119 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)

Assista ao vídeo Uma Dica para Melhorar a Performance da sua Aplicação React
W , do canal Vinicius Dacal (YouTube), para uma breve discussão sobre performance
tuning.

120 / 123
REFERÊNCIAS

ABLESON, W. Frank; SEN, Robi; KING, Chris. Android in Action. 2nd ed. rev..
ed. [S.l.]: Manning Publications, 2011.
ANDROID Tutorial. 2021. Java T Point. Disponível em: <https://www.javatpoint.
com/android-tutorial>. Acesso em: 25 jul. 2021.
CINCO Estratégias de Monetização para seu App. 2021. Google Admob.
Disponível em: <https://admob.google.com/intl/pt-BR_br/home/resources/
5-app-monetization-strategies-to-grow-and-monetize-your-app/>. Acesso em: 18
ago. 2021.
JAIN, Sumit. Android System Architecture. 2014. Android, Tutorial Horizon.
Disponível em: <https://android.tutorialhorizon.com/android-system-architecture/>.
Acesso em: 04 set. 2019.
K19 TREINAMENTOS. Desenvolvimento Mobile com Android. 2012.
MOBILE Computing Tutorial. 2021. Java T Point. Disponível em: <https:
//www.javatpoint.com/mobile-computing>. Acesso em: 26 jul. 2021.

121 / 123
REFERÊNCIAS (cont.)
MONETIZAR. In: DICIONÁRIO Priberam da Língua Portuguesa online. S.l.: s.n.,
2021. Disponível em: <https://dicionario.priberam.org/monetizar>. Acesso em: 18
ago. 2021.
NAVARRO, Juan Enrique G.; PENICHET, Víctor Manuel R.; PÉREZ,
María Dolores L. An Architecture Proposal for Residential Care Home
Environments. In: Handbook of Research on ICTs and Management
Systems for Improving Efficiency in Healthcare and Social Care.
Hershey: IGI Global, 2013. cap. 40, p. 770–785. Disponível em: <https:
//www.igi-global.com/chapter/architecture-proposal-residential-care-home/78054>.
Acesso em: 25 jul. 2021.
NERI, Renan. Aprenda 6 Formas de Monetizar um Aplicativo. 2017. Blog de
Engenharia, Fluxo Consultoria, Universidade Federal do Rio de Janeiro – UFRJ.
Disponível em: <https://fluxoconsultoria.poli.ufrj.br/blog/monetizar-um-aplicativo/>.
Acesso em: 18 ago. 2021.

122 / 123
REFERÊNCIAS (cont.)

OTHMAN, Mazliza. Principles of Mobile Computing and Communications.


Boca Raton: CRC Press, 2008.
PLOTZE, Rodrigo. Programação para Dispositivos Móveis. SESES: Rio de
Janeiro, 2017.
POSLAD, Stefan. Ubiquitous Computing: Smart Devices, Environments and
Interactions. S.l.: John Wiley & Sons Inc, 2009.
TEIXEIRA, Fabricio. Introdução e Boas Práticas em UX Design. São Paulo:
Casa do Código, 2014.

123 / 123

Você também pode gostar