Obrigado por enviar sua consulta! Um dos membros da nossa equipe entrará em contato com você em breve.
Obrigado por enviar sua reserva! Um dos membros da nossa equipe entrará em contato com você em breve.
Programa do Curso
Introdução
Semana 1: Visão geral de Mobile Development
- Ecossistema e plataformas móveis
- Visão geral dos sistemas operativos móveis (iOS e Android)
- Principais diferenças entre iOS, Android e desenvolvimento multiplataforma
- Lojas de aplicações populares (Apple App Store, Google Play Store)
- Introdução ao desenvolvimento nativo, híbrido e multiplataforma
- Nativo vs Híbrido vs Multiplataforma
- Vantagens e desafios de cada método de desenvolvimento
- Visão geral de Swift (para iOS), Kotlin (para Android) e React Nativo (multiplataforma)
- Como o código é traduzido para plataformas móveis (Java Script para código nativo em React Native)
- Programming Fundamentos
- Introdução aos conceitos de programação (variáveis, tipos de dados, funções, fluxo de controlo)
- Comparação da sintaxe de Swift, Kotlin e JavaScript
- Escrever programas simples usando Swift, Kotlin e JavaScript
- Configuração de ambientes de desenvolvimento
- Instalação do Xcode e do Android Studio
- Configurando React Native CLI e Expo
- Executando aplicativos básicos "Hello World" em simuladores e emuladores
Semana 2: Introdução a Swift, Kotlin e JavaScript
- Swift Programming para iOS
- Variáveis, constantes e tipos de dados em Swift
- Instruções de fluxo de controlo
(if
,switch
, loops) - Funções e parâmetros em Swift
- Introdução à interface do Xcode e aos Swift Playgrounds
- Kotlin Programming para Android
- Variáveis, tipos de dados e funções em Kotlin
- Entendendo a segurança de nulos em Kotlin
- Fluxo de controlo e estruturas de ciclos
- Introdução à interface do Android Studio e ao Kotlin Playground
- [Script para Java Nativo
- Variáveis, constantes e fluxo de controlo em JavaScript
- Recursos do ES6: funções de seta, literais de modelo e desestruturação
- Escrever e executar programas JavaScript básicos em React Native usando Expo
Semana 3: iOS Design da interface do utilizador
- UI Elements em iOS
- Introdução ao UIKit e SwiftUI
- Adicionar e personalizar elementos de IU como botões, etiquetas e campos de texto
- Usando o Interface Builder para projetar a IU
- Trabalhar com Storyboards e conceber UIs de vários ecrãs
- Layout automático e restrições
- Compreender o sistema Auto Layout
- Utilizar restrições para layouts responsivos em diferentes tamanhos de ecrã
- Criar vistas de pilha e ajustar dinamicamente os elementos da IU
- SwiftNoções básicas de IU
- Introdução ao design declarativo da IU em SwiftUI
- Construção de componentes simples de UI usando SwiftUI
Semana 4: Android Design da interface do utilizador
- [Layouts em XML
- Introdução ao design de layout baseado em XML
- Trabalhar com layouts comuns: LinearLayout, RelativeLayout, ConstraintLayout
- Adição e personalização de elementos da IU: botões, visualizações de texto, visualizações de imagem
- Utilizar ConstraintLayout para layouts responsivos e dinâmicos
- Design de materiais
- Integração dos princípios do Material Design (cores, ícones, tipografia)
- Utilização de componentes materiais (botões, botões de ação flutuantes, cartões)
- Implementar temas e estilos para Android aplicações
Semana 5: React Design nativo da interface do utilizador
- [Layout Flexbox nativo
- Compreender o Flexbox para design de layout responsivo
- Criando layouts baseados em colunas e linhas
- Estilizar componentes de IU com propriedades Flexbox (justifyContent, alignItems, etc.)
- React Componentes nativos
- Trabalhar com componentes principais como
Text
,View
,TextInput
eButton
- Criar elementos de IU interactivos, como formulários e botões
- Usando o componente
ScrollView
para conteúdo dinâmico
- Trabalhar com componentes principais como
Semana 6: Manipulação de dados em iOS e Android
- iOS Manipulação de dados
- Usando UserDefaults para persistência de dados simples
- Introdução ao Core Data para armazenamento local de dados complexos
- Obtenção de dados de APIs usando URLSession
- Analisar dados JSON e apresentá-los na IU
- Android Manipulação de dados
- Utilização de SharedPreferences para armazenar pequenas quantidades de dados
- Introdução à SQLite e à Room Persistence Library para gestão de bases de dados
- Obtenção de dados de APIs utilizando Retrofit
- Analisando JSON e manipulando respostas de API
Semana 7: React Estado nativo Management e APIs
- Estado e Props em React Native
- Gerenciando o fluxo de dados dentro de componentes React Native
- Usando o gancho
useState
para gerenciar o estado do componente local - Passando dados entre componentes pai e filho via props
- Obtenção de dados em React Native
- Usando a API Fetch e Axios para fazer solicitações HTTP
- Exibição de dados obtidos em listas (usando
FlatList
,SectionList
) - Persistindo dados localmente usando AsyncStorage em React Native
Semana 8: Navegação em iOS e Android
- iOS Navegação
- Introdução aos navigation controllers e gestão de múltiplos ecrãs
- Usando segues para fazer a transição entre view controllers
- Passagem de dados entre view controllers
- Implementação de TabBar e NavigationBar para navegação estruturada
- Android Navegação
- Trabalhar com Activities e Intents para aplicações com vários ecrãs
- Passagem de dados entre Activities utilizando Bundles
- Criar uma gaveta de navegação e uma BottomNavigationView
- Implementando fragmentos para navegação UI flexível
Semana 9: Navegação em React Nativo
- Noções básicas de navegação React
- Instalando e configurando a React Navegação
- Usando o Stack Navigator para transições de ecrã
- Implementando o Tab Navigator e o Drawer Navigator para navegação complexa
- Passagem de parâmetros entre ecrãs e gestão do estado de navegação
Semana 10: Funcionalidades avançadas
- iOS Funcionalidades avançadas:
- Localização central e mapas
- [Localização do dispositivo com o Core Location
- Exibir mapas usando o MapKit
- Gerir a geolocalização e o rastreio da localização do utilizador
- Câmara e multimédia
- [Câmara do dispositivo e biblioteca de fotografias
- Capturar e apresentar imagens com o UIImagePickerController
- Armazenamento e recuperação de ficheiros multimédia
- Localização central e mapas
- Android Funcionalidades avançadas
- Localização e mapas
- Utilizar a API Google Maps para apresentar mapas e a localização do utilizador
- [Obtenção de dados GPS e tratamento da geolocalização
- Câmara e multimédia
- Utilizar o CameraX para capturar fotografias e gerir as permissões da câmara
- Apresentação de imagens e gestão do armazenamento multimédia
- Localização e mapas
- React Funcionalidades avançadas nativas
- React Mapas nativos
- Integração de mapas usando
react-native-maps
- Manipulação de serviços baseados em localização (geolocalização, mapeamento de rotas)
- Integração de mapas usando
- Acesso à câmara e aos média
- Utilização da biblioteca React Native Camera para captura de fotografias
- Armazenamento de mídia no dispositivo Access e manipulação de arquivos
- React Mapas nativos
Semana 11: Depuração e testes
- iOS Depuração e teste
- Utilizar o depurador do Xcode
- Definição de pontos de interrupção e inspeção de variáveis no Xcode
- Utilizar a consola para depuração em tempo real
- Problemas comuns de depuração e como resolvê-los
- Testes unitários em iOS
- Escrever e executar testes unitários utilizando a estrutura XCTest
- Objetos de simulação e teste de componentes da interface do usuário
- Utilizar o depurador do Xcode
- Android Depuração e teste
- Usando o Logcat no Android Studio
- Registo e análise de erros utilizando o Logcat
- Depuração de aplicações Android com pontos de interrupção
- Testes unitários em Android
- Escrever testes unitários usando JUnit
- Testando Android componentes da interface do usuário com o Espresso
- Usando o Logcat no Android Studio
- React Depuração e teste nativos
- Ferramentas de depuração nativas React
- Utilizar o Chrome DevTools e o React Native Debugger para depuração em tempo real
- Registos de consola e inspeção de pedidos de rede
- Testes unitários em React Native
- Escrever testes unitários usando Jest e Enzyme
- Testando componentes do React Native e gerenciando casos de teste
- Ferramentas de depuração nativas React
Semana 12: Implantação de aplicativos e projeto de conclusão de curso
- Implantação e distribuição
- iOS Submissão à App Store
- Preparando seu aplicativo para distribuição (ícones, certificados, perfis de provisionamento)
- Utilizar o App Store Connect para submeter a aplicação para revisão
- Utilizar o TestFlight para testes beta
- Android Submissão à Play Store
- Preparar o APK e assinar a aplicação para distribuição
- Utilizar a Google Play Console para submeter e acompanhar aplicações
- Compreender as políticas e diretrizes da Play Store
- iOS Submissão à App Store
- Desenvolvimento do projeto de fim de curso
- Desenvolvimento do projeto final
- Criar uma aplicação totalmente funcional à sua escolha
- Incorporar funcionalidades avançadas como chamadas API, navegação, multimédia e localização
- Apresentar e demonstrar a aplicação final a colegas e instrutores
- Desenvolvimento do projeto final
Resumo e próximos passos
Requisitos
- Conhecimento básico dos conceitos de programação
- Conhecimentos básicos de JavaScript
Público-alvo
- Programadores de telemóveis
- Programadores
420 Horas