Programa do Curso
Introdução
Semana 1: Visão Geral do Desenvolvimento Móvel
- Ecossistema e Plataformas Móveis
- Visão geral dos sistemas operativos móveis (iOS e Android)
- Principais diferenças entre desenvolvimento iOS, Android e 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 do Swift (para iOS), Kotlin (para Android) e React Native (multiplataforma)
- Como o código se traduz para as plataformas móveis (JavaScript para código nativo no React Native)
- Fundamentos de Programação
- Introdução a conceitos de programação (variáveis, tipos de dados, funções, fluxo de controlo)
- Comparação da sintaxe de Swift, Kotlin e JavaScript
- Escrita de programas simples utilizando Swift, Kotlin e JavaScript
- Configuração de Ambientes de Desenvolvimento
- Instalação do Xcode e Android Studio
- Configuração do React Native CLI e Expo
- Execução de aplicações básicas "Hello World" em simuladores e emuladores
Semana 2: Introdução ao Swift, Kotlin e JavaScript
- Programação Swift para iOS
- Variáveis, constantes e tipos de dados no Swift
- Declarações de fluxo de controlo (
if,switch, ciclos) - Funções e parâmetros no Swift
- Introdução à interface do Xcode e Swift Playgrounds
- Programação Kotlin para Android
- Variáveis, tipos de dados e funções no Kotlin
- Compreensão da segurança de null no Kotlin
- Fluxo de controlo e estruturas de ciclos
- Introdução à interface do Android Studio e Kotlin Playground
- JavaScript para React Native
- Variáveis, constantes e fluxo de controlo em JavaScript
- Recursos ES6: funções de seta, literais de modelo e desestruturização
- Escrita e execução de programas básicos em JavaScript no React Native utilizando Expo
Semana 3: Design de Interface de Utilizador no iOS
- Elementos de UI no iOS
- Introdução ao UIKit e SwiftUI
- Adição e personalização de elementos de UI como botões, etiquetas e campos de texto
- Utilização do Interface Builder para design de UI
- Trabalho com Storyboards e design de UI multi-ecrã
- Auto Layout e Restrições
- Compreensão do sistema Auto Layout
- Utilização de restrições para layouts responsivos em diferentes tamanhos de ecrã
- Criação de vistas empilhadas (stack views) e ajuste dinâmico de elementos de UI
- Introdução ao SwiftUI
- Introdução ao design de UI declarativo no SwiftUI
- Construção de componentes de UI simples utilizando SwiftUI
Semana 4: Design de Interface de Utilizador no Android
- Layouts XML no Android
- Introdução ao design de layouts baseados em XML
- Trabalho com layouts comuns: LinearLayout, RelativeLayout, ConstraintLayout
- Adição e personalização de elementos de UI: botões, vistas de texto, vistas de imagem
- Utilização do ConstraintLayout para layouts responsivos e dinâmicos
- Material Design
- Integração de princípios de Material Design (cores, ícones, tipografia)
- Utilização de Componentes de Material (botões, botões de ação flutuantes, cartões)
- Implementação de temas e estilo para aplicações Android
Semana 5: Design de Interface de Utilizador no React Native
- Layout Flexbox em React Native
- Compreensão do Flexbox para design de layout responsivo
- Criação de layouts baseados em colunas e linhas
- Estilização de componentes de UI com propriedades Flexbox (justifyContent, alignItems, etc.)
- Componentes React Native
- Trabalho com componentes essenciais como
Text,View,TextInputeButton - Criação de elementos de UI interativos, como formulários e botões
- Utilização do componente
ScrollViewpara conteúdo dinâmico
- Trabalho com componentes essenciais como
Semana 6: Tratamento de Dados no iOS e Android
- Tratamento de Dados no iOS
- Utilização do UserDefaults para persistência de dados simples
- Introdução ao Core Data para armazenamento local de dados complexos
- Obtenção de dados de APIs utilizando URLSession
- Analise de dados JSON e exibição na UI
- Tratamento de Dados no Android
- Utilização do SharedPreferences para armazenamento de pequenas quantidades de dados
- Introdução ao SQLite e à Biblioteca de Persistência Room para gestão de bases de dados
- Obtenção de dados de APIs utilizando Retrofit
- Analise de JSON e tratamento de respostas de API
Semana 7: Gestão de Estado e APIs no React Native
- Estado e Props no React Native
- Gestão do fluxo de dados dentro de componentes React Native
- Utilização do hook
useStatepara gerir o estado local do componente - Passagem de dados entre componentes pai e filho através de props
- Obtenção de Dados no React Native
- Utilização da Fetch API e Axios para fazer pedidos HTTP
- Exibição de dados obtidos em listas (utilizando
FlatList,SectionList) - Persistência local de dados utilizando AsyncStorage no React Native
Semana 8: Navegação no iOS e Android
- Navegação no iOS
- Introdução aos controladores de navegação e gestão de múltiplos ecrãs
- Utilização de segues para transições entre controladores de vista
- Passagem de dados entre controladores de vista
- Implementação de TabBar e NavigationBar para navegação estruturada
- Navegação no Android
- Trabalho com Activities e Intents para aplicações multi-ecrã
- Passagem de dados entre Activities utilizando Bundles
- Criação de Navigation Drawer e BottomNavigationView
- Implementação de fragmentos para navegação de UI flexível
Semana 9: Navegação no React Native
- Fundamentos da Navegação React
- Instalação e configuração do React Navigation
- Utilização do Stack Navigator para transições de ecrãs
- Implementação de Tab Navigator e 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
- Funcionalidades Avançadas do iOS:
- Localização e mapas
- Acesso à localização do dispositivo com Core Location
- Exibição de mapas utilizando MapKit
- Tratamento de geolocalização e rastreamento de localização do utilizador
- Câmara e multimédia
- Acesso à câmara e biblioteca de fotografias do dispositivo
- Captura e exibição de imagens com UIImagePickerController
- Armazenamento e recuperação de ficheiros de multimédia
- Localização e mapas
- Funcionalidades Avançadas do Android
- Localização e mapas
- Utilização da Google Maps API para exibir mapas e localização do utilizador
- Acesso a dados GPS e tratamento de geolocalização
- Câmara e multimédia
- Utilização do CameraX para capturar fotografias e gerir permissões da câmara
- Exibição de imagens e gestão de armazenamento de multimédia
- Localização e mapas
- Funcionalidades Avançadas do React Native
- Mapas React Native
- Integração de mapas utilizando
react-native-maps - Tratamento de serviços baseados em localização (geolocalização, mapeamento de rotas)
- Integração de mapas utilizando
- Acesso a câmara e multimédia
- Utilização da biblioteca React Native Camera para captura de fotografias
- Acesso ao armazenamento de multimédia do dispositivo e tratamento de ficheiros
- Mapas React Native
Semana 11: Depuração e Testes
- Depuração e Testes no iOS
- Utilização do depurador Xcode
- Definição de pontos de interrupção (breakpoints) e inspeção de variáveis no Xcode
- Utilização da consola para depuração em tempo real
- Problemas de depuração comuns e como resolvê-los
- Testes de unidade no iOS
- Escrita e execução de testes de unidade utilizando o framework XCTest
- Mocking de objetos e teste de componentes de UI
- Utilização do depurador Xcode
- Depuração e Testes no Android
- Utilização do Logcat no Android Studio
- Registo e análise de erros utilizando Logcat
- Depuração de aplicações Android com breakpoints
- Testes de unidade no Android
- Escrita de testes de unidade utilizando JUnit
- Teste de componentes de UI Android com Espresso
- Utilização do Logcat no Android Studio
- Depuração e Testes no React Native
- Ferramentas de depuração React Native
- Utilização do Chrome DevTools e React Native Debugger para depuração em tempo real
- Registos de consola e inspeção de pedidos de rede
- Testes de unidade no React Native
- Escrita de testes de unidade utilizando Jest e Enzyme
- Teste de componentes React Native e gestão de casos de teste
- Ferramentas de depuração React Native
Semana 12: Implementação de Aplicações e Projeto Final
- Implementação e Distribuição
- Submissão na iOS App Store
- Preparação da aplicação para distribuição (ícones, certificados, perfis de provisionamento)
- Utilização do App Store Connect para submeter a aplicação para revisão
- Utilização do TestFlight para testes beta
- Submissão na Android Play Store
- Preparação do APK e assinatura da aplicação para distribuição
- Utilização do Google Play Console para submissão e acompanhamento da aplicação
- Compreensão das políticas e diretrizes da Play Store
- Submissão na iOS App Store
- Desenvolvimento do Projeto Final
- Desenvolvimento do projeto final
- Construção de uma aplicação totalmente funcional à escolha
- Incorporação de funcionalidades avançadas como chamadas de API, navegação, multimédia e localização
- Apresentação e demonstração da aplicação final a colegas e instrutores
- Desenvolvimento do projeto final
Resumo e Próximos Passos
Requisitos
- Compreensão básica de conceitos de programação
- Conhecimento básico de JavaScript
Público-Alvo
- Desenvolvedores móveis
- Programadores
Formação Empresarial Personalizada
Soluções de formação concebidas exclusivamente para empresas.
- Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
- Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
- Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Preço por grupo privado, formação online em direto, a partir de 6500 € + VAT*
Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes
Testemunhos de Clientes (3)
Tudo está bem.
Adrian Rybka - SEOyon
Curso - Flutter Development Bootcamp with Dart
Máquina Traduzida
Informações adicionais muito úteis
Grzegorz - Comp S.A.
Curso - BLoC Pattern
Máquina Traduzida
Desenvolvendo o aplicativo de autenticação do usuário e a atividade kahoot (garanti que estou absorvendo as aulas de treinamento :) e está sendo divertido!)
Jhoanne - Pag-IBIG Fund
Curso - .NET MAUI Fundamentals
Máquina Traduzida