Mobile - AULA03 - Interface Gráfica Com React Native
Mobile - AULA03 - Interface Gráfica Com React Native
Descrição
Propósito
Preparação
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 1/72
27/05/2024, 14:54 Interface gráfica com React Native
Objetivos
Módulo 1
Módulo 2
Módulo 3
Módulo 4
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 2/72
27/05/2024, 14:54 Interface gráfica com React Native
Introdução
O processo de desenvolvimento de aplicativos envolve uma série
de conhecimentos. Entre eles, destacam-se a organização do
processo como um todo e o conhecimento de ferramentas,
bibliotecas e demais recursos a serem utilizados no projeto.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 3/72
27/05/2024, 14:54 Interface gráfica com React Native
Primeiras palavras
Um importante passo antes de se iniciar, de fato, a codificação de um
aplicativo (e o mesmo pensamento também deve valer para qualquer
tipo de software) é estruturar como o aplicativo funcionará.
Interface de aplicações.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 4/72
27/05/2024, 14:54 Interface gráfica com React Native
Requisitos ou funcionalidades
Como primeiro passo para a esquematização da interface e
interatividade de nosso aplicativo mobile, devemos ter em mãos as suas
funcionalidades, ou seja, precisamos conhecer tudo o que o aplicativo
deverá fazer e tudo o que poderá ser feito por meio dele. Essa lista de
funcionalidades pode ser:
Simples Elaborada
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 5/72
27/05/2024, 14:54 Interface gráfica com React Native
Pagamento de contas.
Transferência bancária.
Elementos Elementos
Nº Tela
visuais de interação
Logomarca da
instituição;
Input de
banner
dados;
1 Inicial / login publicitário
botão de
rotativo;
ação.
canais de
comunicação.
Logomarca da
instituição; Botão de
Home (após textos; títulos ação; menu
2
login) (label); banner de
publicitário navegação.
rotativo.
Botão de
Logomarca;
Consulta de ação; menu
3 textos; títulos
extrato de
(label).
navegação.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 7/72
27/05/2024, 14:54 Interface gráfica com React Native
Elementos Elementos
Nº Tela
visuais de interação
dispositivo
móvel.
Botão de
ação; menu
Logomarca;
de
texto; títulos
Transferência navegação;
5 (label);
bancária input de
listagem de
dados;
texto.
seleção de
dados.
Botão de
ação; menu
Consulta de Logomarca;
de
fatura de texto; títulos
navegação;
6 lançamentos (label);
input de
de cartão de listagem de
dados;
crédito texto.
seleção de
dados.
Botão de
ação; menu
Logomarca;
de
Consulta de texto;
navegação;
7 investimento títulos(label);
input de
financeiro listagem de
dados;
texto.
seleção de
dados.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 8/72
27/05/2024, 14:54 Interface gráfica com React Native
Definição de componentes
Saiba mais
Há várias ferramentas disponíveis para a confecção de protótipos
navegáveis – inclusive gratuitas.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 9/72
27/05/2024, 14:54 Interface gráfica com React Native
como a dos elementos que não podem ser aninhados dentro de outros
ou as diferenças de tamanho de tela e espaço útil disponível nos
diferentes dispositivos móveis – devem ser consideradas.
React Native
content_copy
Dica
Utilize o componente View como container de outros componentes,
inclusive de outras Views. Isso ajudará a organizar o código e a estilizá-
lo.
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 10/72
27/05/2024, 14:54 Interface gráfica com React Native
ScrollView
SafeAreaView
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 11/72
27/05/2024, 14:54 Interface gráfica com React Native
Saiba mais
Modal
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 12/72
27/05/2024, 14:54 Interface gráfica com React Native
Botões
O fragmento de código anterior contém um elemento de interação, o
Pressable, cujo funcionamento equivale ao de um botão. O React Native
possui alguns componentes com essa mesma função, como, por
exemplo:
touch_app
Button
touch_app
TouchableHighlight
touch_app
TouchableOpacity
touch_app
TouchableWithoutFeedback
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 13/72
27/05/2024, 14:54 Interface gráfica com React Native
Exemplo de button.
Recomendação
ActivyIndicator
Este componente exibe elementos visuais que comumente chamamos
de “loading”. Embora bastante negligenciado, trata-se de um dos mais
importantes elementos em termos de interatividade, pois seu uso
permite informar ao usuário que uma tarefa está sendo processada.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 14/72
27/05/2024, 14:54 Interface gráfica com React Native
Loading.
Recomendação
A sugestão em relação a esse componente é utilizá-lo sempre que uma
requisição a um recurso externo seja realizada. Com isso, mesmo que
haja demora na resposta, o usuário é informado de que algo está
acontecendo. Do contrário, a espera pela conclusão de uma tarefa
demorada sem nenhuma indicação visual pode dar a ele a sensação de
que o aplicativo travou, por exemplo.
Outros componentes
Além dos componentes vistos até aqui, há vários outros disponíveis
para a organização das telas de nosso aplicativo. Eles possuem, além
de organizar visualmente os elementos ou fornecer interatividade,
diferentes funções, como permitir a navegação entre telas e a
apresentação otimizada de recursos específicos, como listas e cards.
video_library
Processo de definição da interface de
um aplicativo mobile
Neste vídeo, falaremos sobre os pontos relevantes e de atenção ao
realizarmos uma esquematização do passo a passo para definição da
interface interativa de um aplicativo mobile.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 15/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 16/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 1
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 17/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 2
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 19/72
27/05/2024, 14:54 Interface gráfica com React Native
Componentes de lista
O React Native possui três principais componentes nativos de listas:
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 20/72
27/05/2024, 14:54 Interface gráfica com React Native
code
VirtualizedList
code
SectionList
code
FlatList
VirtualizedList
Este componente constitui a implementação-base para os outros dois
componentes de lista, que acabam sendo mais utilizados devido às
suas particularidades – o que, aliás, faz com que ambos também sejam
mais bem documentados.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 21/72
27/05/2024, 14:54 Interface gráfica com React Native
Otimização
Otimização do consumo de memória e de desempenho no manuseio de
grandes listas.
Manutenção de janela
Manutenção de janela finita de renderização de itens ativos e
substituição daqueles que estejam fora da janela de renderização.
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 22/72
27/05/2024, 14:54 Interface gráfica com React Native
Recomendação
Data expand_more
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 23/72
27/05/2024, 14:54 Interface gráfica com React Native
getItem expand_more
getItemCount expand_more
renderItem expand_more
keyExtractor expand_more
initialNumToRender expand_more
Saiba mais
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 24/72
27/05/2024, 14:54 Interface gráfica com React Native
SectionList
A SectionList é um componente para a exibição de dados em formato
de lista que permite que eles sejam seccionados, ou seja, exibidos em
seções. Para ficar mais fácil de entender o funcionamento e a utilidade
desse componente, imagine que você tenha uma lista de produtos para
exibir e que esses produtos pertencem a diferentes categorias de
produtos.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 25/72
27/05/2024, 14:54 Interface gráfica com React Native
Exemplo de SectionList.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 26/72
27/05/2024, 14:54 Interface gráfica com React Native
sections
Propriedade obrigatória e que define os dados a serem listados.
renderSectionHeader
Define o elemento a ser renderizado no início de cada seção.
FlatList
Conceitos e funcionalidades
O último componente de lista que veremos é o FlatList. Ele é otimizado,
em termos de desempenho, para renderizar listas simples e básicas.
Além disso, possui suporte para vários recursos muito úteis. Conheça
alguns deles a seguir:
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 27/72
27/05/2024, 14:54 Interface gráfica com React Native
Permite a inclusão de
separadores (componentes
que podem ser usados para
separar os itens da lista).
Permite a atualização de
seu conteúdo por meio do
movimento de “puxar e
soltar” ou por rolagem
(scrolling).
Saiba mais
Alguns desses recursos também são suportados pelos demais
componentes de lista, os quais, aliás, também podem possuir recursos
específicos. Para mais detalhes, consulte a documentação oficial do
React Native.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 28/72
27/05/2024, 14:54 Interface gráfica com React Native
state
Todo dado capaz de variar ao longo da aplicação, podendo tal
mudança ser (ou não) proveniente da interação do usuário.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 29/72
27/05/2024, 14:54 Interface gráfica com React Native
Exemplo de FlatList.
Comentário
Próximos passos
Até aqui, você viu como esquematizar a interface interativa de um
aplicativo utilizando diversos componentes, alguns mais gerais e de
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 30/72
27/05/2024, 14:54 Interface gráfica com React Native
video_library
Componentes de lista no React Native
Neste vídeo, abordaremos os principais componentes de lista e
multivalorados disponíveis no React Native.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 31/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 1
Questão 2
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 33/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 34/72
27/05/2024, 14:54 Interface gráfica com React Native
Páginas – página
inicial/home.
Páginas secundárias.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 35/72
27/05/2024, 14:54 Interface gráfica com React Native
Breadcrumb.
Navbar.
Atenção
Embora muitos desenvolvedores utilizem o termo “página”, é comum
também se referir às seções do aplicativo como “telas”. É ainda mais
usual referenciar tais termos em seus equivalentes no idioma inglês:
pages ou screens.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 36/72
27/05/2024, 14:54 Interface gráfica com React Native
@react-navigation/native
react-native-reanimated
react-native-gesture-handler
react-native-screens
react-native-safe-area-context
Dica
Para instalar as dependências descritas, use um gerenciador de
dependências (NPM ou YARN) a partir do terminal, estando na raiz da
pasta que contém seu projeto. Observe a necessidade de executar o
comando “react-native link” caso esteja utilizando uma versão do React
Native Cli inferior a 0.60. Além disso, no ambiente iOS, será preciso
rodar os pods por meio do comando “npx pod-install ios” para completar
o processo de “linking” das dependências.
Stack Navigation
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 37/72
27/05/2024, 14:54 Interface gráfica com React Native
Apresentação
O primeiro modelo de navegação que veremos é o Stack Navigation.
Como seu nome diz, esse modelo consiste no empilhamento de telas.
Ou seja, cada nova tela acessada por meio dele é colocada por cima em
uma pilha, sobrepondo a tela anterior.
Navegador
Histórico
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 38/72
27/05/2024, 14:54 Interface gráfica com React Native
offline_share
Transição entre telas.
history
Gestão do histórico de navegação em um
aplicativo.
Dica
@react-navigation/native-stack
Estrutura do projeto
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 39/72
27/05/2024, 14:54 Interface gráfica com React Native
Estrutura de um projeto.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 40/72
27/05/2024, 14:54 Interface gráfica com React Native
home.js
about.js
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 41/72
27/05/2024, 14:54 Interface gráfica com React Native
App.js
Análise do código
Como de praxe, a primeira coisa a se fazer ao escrevermos nosso
código em React Native é importar as dependências que utilizaremos.
Em nosso caso, além dos componentes de exibição, como View e Text,
importaremos:
NavigationContainer
Container responsável por conter toda a navegação de nosso aplicativo.
createNativeStackNavigator
Responsável por criar o Stack de navegação.
Repare que criamos uma constante denominada Stack – ela poderia ter
qualquer nome, ficando à sua escolha – e a definimos como uma
instância de createNativeStackNavigator. Na função App, usaremos
essa constante para definir os parâmetros de navegação.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 42/72
27/05/2024, 14:54 Interface gráfica com React Native
navigation.navigate('About')
navigation.navigate('Home')
Histórico expand_more
navigation.push(‘Home’)
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 43/72
27/05/2024, 14:54 Interface gráfica com React Native
Opções avançadas
Além dos recursos até aqui apresentados, o Stack Navigator possui
outras opções de configuração e navegação. É possível ainda
combinar mais de um Stack Navigator em nosso aplicativo.
Recomendação
Apresentação
Este estilo de navegação é composto por guias ou abas que contêm
botões – com título e ícone ou por suas possíveis combinações –
por meio dos quais se navega ao pressionar tais elementos. Essa
navegação é normalmente inserida na parte inferior do aplicativo,
embora também possa se localizar no topo.
Atenção
@react-navigation/bottom-tabs
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 44/72
27/05/2024, 14:54 Interface gráfica com React Native
Estrutura do projeto
Em nosso exemplo, poderemos utilizar a mesma estrutura de pastas
do projeto anterior (Stack Navigator), mantendo nossas screens
Home e About. Entretanto, será necessário modificar nosso App.js.
Recomendação
Crie um projeto copiando do anterior apenas as duas telas já
mencionadas.
App.js
Análise do código
Perceba, no código acima, que a criação do Tab Navigator, em
termos de sintaxe, é semelhante à do Stack Navigator. Basta,
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 45/72
27/05/2024, 14:54 Interface gráfica com React Native
Dica
Tendo mantido o mesmo código para as screens Home e About,
clique nos botões que incluímos no exemplo anterior. Perceba que é
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 46/72
27/05/2024, 14:54 Interface gráfica com React Native
Drawer Navigation
Apresentação
O último modelo de navegação que veremos é o Drawer Navigation.
Esse modelo consiste em fornecer um menu de navegação que
inicialmente fica invisível na tela, sendo acessado ao se arrastar a tela
da esquerda (ou, caso queiramos, da direita) em direção ao meio dela.
Dica
Para usar o Drawer, é necessário instalar a seguinte dependência:
@react-navigation/drawer
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 47/72
27/05/2024, 14:54 Interface gráfica com React Native
Estrutura do projeto
Manteremos a estrutura utilizada nos modelos de navegação abordados
anteriormente, criando um projeto e reaproveitando os códigos das telas
Home e About. Com isso, precisamos modificar apenas o ponto de
entrada de nosso aplicativo.
Após criar um projeto, modifique o App.js para que ele fique desta
forma:
App.js
Análise do código
O código para criação do Drawer é semelhante aos códigos dos demais
modelos de navegação, onde temos as operações listadas a seguir:
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 48/72
27/05/2024, 14:54 Interface gráfica com React Native
Atenção
No Drawer, em específico, foi incluído um atributo adicional, que é
opcional, por meio do qual definimos a tela inicial a ser apresentada.
Quando ela não é definida por meio de atributo, em todos os modelos de
navegação, por padrão, é exibida a primeira tela definida dentro dos
itens: screens.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 49/72
27/05/2024, 14:54 Interface gráfica com React Native
Combinando os modelos de
navegação
Os modelos de navegação apresentados podem ser usados
individualmente, como demonstramos nos códigos apresentados no
módulo, ou de forma combinada.
video_library
Modelos de navegação no React
Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 50/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 51/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 1
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 52/72
27/05/2024, 14:54 Interface gráfica com React Native
E linhas gerais, modelos bem conhecidos do ambiente
web, como a navegação por links e botões, expostos
em guias ou menus, sendo possível inclusive voltar
e avançar em seu histórico de navegação.
Questão 2
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 53/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 54/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 55/72
27/05/2024, 14:54 Interface gráfica com React Native
Estilização de aplicativo.
CSS
A estilização de aplicativos em React Native segue os mesmos
princípios daquela realizada em páginas web. No entanto, enquanto
nessas páginas utilizam-se as folhas de estilo (CSS - do inglês
Cascading Style Sheets), no React Native emprega-se um código
JavaScript por meio da propriedade (props) style.
invert_colors
Inline no próprio componente.
invert_colors
Interna no mesmo script.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 56/72
27/05/2024, 14:54 Interface gráfica com React Native
invert_colors
Externa em um script separado.
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 57/72
27/05/2024, 14:54 Interface gráfica com React Native
ter a extensão .js) de estilo no script em que ele será usado, como pode
ser visto nos códigos a seguir, começando pelo App.js:
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 58/72
27/05/2024, 14:54 Interface gráfica com React Native
Script styles.js usado na definição de estilo externa anterior.
Styled Components
Apresentação
A biblioteca Styled Components constitui uma alternativa muito
utilizada para a props Style quando o assunto é estilizar um componente
em React Native. Com o uso dessa lib, é possível estilizar nosso
aplicativo com CSS de forma bem parecida com a que fazemos na web.
styled-components
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 59/72
27/05/2024, 14:54 Interface gráfica com React Native
format_color_reset
Entender (e sobrescrever) estilos.
code
Passar as propriedades de estilo entre os
componentes como props.
animation
Ter suporte a animações (que será visto a
seguir).
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 60/72
27/05/2024, 14:54 Interface gráfica com React Native
Animated API
Funcionamento
Esta API se baseia em relações declarativas entre entradas e saídas,
fazendo uso de transformações configuráveis por meio de métodos,
como iniciar e parar, por meio dos quais podemos controlar a sua
execução. Nativamente, é possível animar os seguintes componentes
React:
visibility
View
text_fields
Text
image
Image
touch_app
ScrollView
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 61/72
27/05/2024, 14:54 Interface gráfica com React Native
reorder
FlatList
view_list
SectionList
Hooks
No código, são utilizados dois hooks: useRef e useEffect. Não se
preocupe ainda em relação a eles. Por enquanto, saiba que o useEffect
permite que ações sejam executadas quando o aplicativo for
renderizado na tela.
Animated.timing
Veja a sintaxe do método Animated.timing. São definidos nele o valor
até o qual o efeito de fade será aplicado e o tempo de execução da
animação. Quanto maior for o tempo, mais lenta será a execução.
Animated.Text
No exemplo, o Animated.Text é utilizado como container para o texto a
ser exibido a aplicação da animação. Como já mencionamos, também
poderíamos ter usado o Animated.View e outros elementos.
Vamos ao código. Nele, a frase “Texto com fade in” será exibida com o
efeito de fade in quando o aplicativo for iniciado.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 62/72
27/05/2024, 14:54 Interface gráfica com React Native
Configuração de animações
(tempo, duração, funções
de atenuação etc.).
Composição de animações
(combinação de animações
em sequência, em paralelo
etc.).
Combinação de valores
animados (por meio de
)
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 63/72
27/05/2024, 14:54 Interface gráfica com React Native
operações matemáticas).
Interpolação.
Rastreamento de valores e
gestos.
Saiba mais
Cada um desses recursos pode ser explorado a fundo por meio da
documentação oficial do React Native.
LayoutAnimation API
React Native
content_copy
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 64/72
27/05/2024, 14:54 Interface gráfica com React Native
Comentário 1 expand_more
UIManager.setLayoutAnimationEnabledExperimental &&
UIManager.setLayoutAnimationEnabledExperimental(true);
Comentário 2 expand_more
Comentário 3 expand_more
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 65/72
27/05/2024, 14:54 Interface gráfica com React Native
Atenção
Embora seja um recurso poderoso, a LayoutAnimation API oferece
menos controle que a Animated API.
video_library
Estilização e animação do React
Native
Neste vídeo, abordaremos os recursos de estilização e animação
disponíveis no React Native.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 66/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 1
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 67/72
27/05/2024, 14:54 Interface gráfica com React Native
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 68/72
27/05/2024, 14:54 Interface gráfica com React Native
Questão 2
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 69/72
27/05/2024, 14:54 Interface gráfica com React Native
Considerações finais
Neste conteúdo, apresentamos alguns recursos importantes do React
Native de forma prática e teórica, a começar pela esquematização dos
passos para a definição da interface interativa de um aplicativo mobile.
Dos passos apresentados, conseguimos introduzir alguns componentes
do React voltados para a construção de layout e a conteinerização de
conteúdos e outros elementos.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 70/72
27/05/2024, 14:54 Interface gráfica com React Native
headset
Podcast
Ouça o podcast. Nele, falamos sobre o processo de definição da
interface de um aplicativo mobile, componentes de lista, modelos de
navegação e os recursos de estilização e animação do React Native.
Explore +
Explore outros recursos sobre animações e transições em aplicativos
mobile no site do Android Developer.
Referências
REACT NATIVE. Docs. Consultado na internet em: 12 ago. 2021.
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 71/72
27/05/2024, 14:54 Interface gráfica com React Native
Download material
Relatar problema
https://stecine.azureedge.net/repositorio/00212ti/02525/index.html?brand=estacio# 72/72