Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programação para Dispositivos Móveis em Android, Interface Gráfica com…
Programação para Dispositivos Móveis em Android
Interface Gráfica com React Native
T2M1
Interface Interativa de um Aplicativo Mobile
Telas e Elementos Visuais
Definição de Componentes
Componentes de Interface e Interação
Modal
Button
ActivyIndicator
Escolha dos Componentes
KeyboardAvoidingView
SafeAreaView
Requisitos ou Funcionalidades
Lista de Funcionalidade
Simples
Elaborada
Fluxo Básico e Fluxo Alternativo
T2M2
Componentes de Lista e Multivalorados
Componentes Específicos para Tarefas Específicas
Componentes de Lista
VirtualizedList
data
getItem( )
getItemCount( )
renderItem( )
keyExtractor( )
initialNumToRender
SectionList
sections
renderSectionHeader( )
FlatList
extraData
onEndReached( )
T2M3
Principais Modelos de Navegação
Navegando em um Aplicativo Mobile
Preparando o Ambiente
Modelos de Navegação
Stack Navigation
Sobre o Modelo
Criação do Stack Navigator
createNativeStackNavigator( )
Estrutura do Projeto
Tab Navigation
Sobre o Modelo
Estrutura do Projeto
Criação do Tab Navigator
createBottomTabNavigator( )
Drawer Navigation
Sobre o Modelo
Estrutura do Projeto
Criação do Drawer Navigator
createDrawerNavigator( )
NavigationContainer
Combinando os Modelos de Navegação
T2M4
Recursos de Estilização e Animação
Estilizando Aplicativos em React Native
Props style
Styled Components
StyleSheet
Biblioteca styled
Animações em React Native
Animated API
LayoutAnimation API
Persistência de Dados com React Native
T3M1
AsyncStorage
Formatos Interoperáveis
XML
SOAP (
Simple Object Access Protocol
)
B2B (Business to Business)
JSON
REST (
Representational State Transfer
)
B2C (Business to Consumer)
Armazenamento com AsyncStorage
Principais Métodos
getltem( )
setltem( )
removeltem( )
mergeltem( )
getAllKeys( )
multiGet( )
async / await
then
Promise
Persistência Assíncrona
Pares Chave-Valor
Cadastro Baseado em Arquivos
Serialização e Persistência
Serialização: JSON e XML
stringify
parser
Persistência: Estado Corrente
T3M2
Persistência no Modelo Relacional
Modelo Relacional
Álgebra Relacional
Tupla
Mapeamento Objeto-Relacional
Linguagem SQL
DDL (
Data Definition Language
)
DML (
Data Manipulation Language
)
Seleção ou Consulta
Banco de Dados SQLite
Armazenamento Local
openDatabase( )
executeSQL( )
Tabelas de Catálogo
sqlite_master
sqlite_sequence
sqlite_stat1
Cadastro com SQLite
T3M3
Realm
Banco de Dados Orientado a Objetos
ODBMS (
Object Database Management System
)
Herança e Polimorfismo
História dos Bancos de Dados Orientado a Objetos
1991: ODMG (
Object Database Management Group
)
ODL (
Object Definition Language
)
OIF (
Object Interchange Format
)
OQL (
Object Query Language
)
JDO (
Java Data Objects
)
Banco de Dados Realm
Métodos da Classe Realm
Cadastro Baseado no Realm
T3M4
Persistência no Modelo NoSQL
NoSQL
Arquitetura de Chave-Valor
Modelo Colunar
Setores (ou Colunas)
Famílias
HBase
Banco de Dados baseado em Grafos
Neo4J
Vértices e Arestas
Banco de Dados MongoDB
JSON
MongoDB Compass
Servidor Node.js com Express
Padrão REST
Métodos HTTP
Router
Cadastro com MongoDB
ngrok
axios
Tópicos Avançados em React Native
T5M1
Arquitetura MVC com React Native
Padrões Arquiteturais
Sistema Interativo: Padrão MVC
Sistema Distribuído: Arquitetura Broker
Padrão DAO no React Native
Aplicativo MVC no React Native
Padrões de Desenvolvimento
Padrões GoF
Padrões Criacionais
Padrões Estruturais
Padrões Comportamentais
T5M2
Arquiteturas Flux e Redux com React Native
Arquitetura Flux
Ex.: Cadastro com Flux
View, Action, Dispatcher e Store
Arquitetura Redux
Ex.: Cadastro com Redux
View, Action, Reducer e Store
T5M3
Criptografia com React Native
Fundamentos de Criptografia
Base64
Criptografia Simétrica
Secret Key
Criptografia Assimétrica
Criptografia Destrutiva
Criptografia no React Native
Ex.: Cadastro Criptografado
Criptografia no Expo
T5M4
Publicação de Aplicativos com React Native
CI / CD
Teste de Software
Teste Unitário
Jest (React Native)
Teste de Integração
Teste Sistêmico
Mock (Rede e Banco de Dados)
Performance Tuning
DevTools
Hermes
Shipping
AAB (
Android Application Bundle
)
Android: Android Studio
iOS: XCode
Sintaxe e Componentes do React Native
T1M1
React Native: Ambiente de Desenvolvimento e Possíveis Configurações
Utilização do Expo
Gerenciador de Pacotes
NPM (
Node Package Manager
)
CLI
Repositório Aberto
YARN (
Yet Another Resource Negotiator
)
yarn.lock
package.json
Node.js
Instalação do Expo e React Native
expo-cli
Expo Client (smartphone)
Utilização de um Dispositivo Virtual ou Físico
Android Studio (emulador)
Configuração das Variáveis de Ambiente
JAVA_HOME
ANDROID_HOME
Path
Teste do Ambiente
Java JDK
IDE
Introdução ao React Native
React.js x React Native
T1M2
Componentes Nativos do React Native
Componentes
Composição
JSX (
JavaScript XML
)
Sintaxe
Funcionamento das Aplicações Escritas com React Native
Desenvolvimento Híbrido
Núcleo Nativo
Android: Java ou Kotlin
iOS: Swift ou Objective-C
Núcleo JavaScript
JavaScriptCore
Componentes UI React Native
View
Text
StyleSheet
Image
TextInput
focus
blur
ScrollView
Componentes Nativos Android e iOS
Outros Componentes
Button
Switch
FlatList
T1M3
Depuração de Aplicativos
Depuração (ou Debug)
Indiretamente
Iniciativa do Desenvolvedor
Como Depurar um Software
Pontos de Observação (Break Points)
Ferramentas de Depuração de Código
Console do Navegador
Janela do Metro
React Developer Tools
In-App Developer Menu
Fast Refresh
Sampling Profiler e Perf Monitor
Depuração de Código Nativo
Como Organizar o Processo de Depuração
Conexão Remota com React Native
T4M1
Componentes para Conexão em Rede
Fetch API
Enviando Dados em uma Conexão Remota
Componente Nativo (React)
Biblioteca Axios
Realizando uma Requisição POST com Axios
Gerenciando Múltiplas Instâncias Axios
JSONResponse
T4M2
Persistência Remota com Controle de Acesso na Arquitetura REST
Entendendo o REST
Requisições e Respostas na Arquitetura REST
Arquitetura Cliente x Servidor
Persistindo Dados Remotamente com React Native
Persistindo Dados com Autenticação
Utilizando o Método PUT
Bearer Token
Enviando Dados para uma API REST
Controle de Acesso com OAuth2
Definição de Papéis no OAuth2
Proprietário do Recurso
Cliente
Servidor de Recurso
Servidor de Autorização
Esquemas para Utilização do OAuth2
Fluxos de Autorização
Autorização por Código
Fluxo Implícito
Credenciais de Senha do Proprietário do Recurso
Credenciais do Cliente
Padrão AppAuth
Controle de Acesso na Prática
Google Firebase Authentication
Auth0
FusionAuth
Keycloak
React-native-app-auth
T4M3
Modelo Offline First
Aplicativos Online e Offline
Arquitetura Offline First
Fluxo do Modelo Offline First
Construindo um Aplicativo Utilizando o Modelo Offline First
Banco de Dados Embarcado
Lógica de Back-end no Aplicativo
Gerenciador de Estados
Controle das Funcionalidades Offline x Online
React-native-offline
Redux-offline