Programa do Curso

Introdução

Semana 1: Conceitos avançados de Swift, Kotlin e Java Script

  • Swift (iOS)
    • Funções avançadas: Closures, captura de valores, funções de ordem superior
    • Programação orientada a protocolos e genéricos
    • Gestão de memória com ARC (Automatic Reference Counting)
  • Kotlin (Android)
    • Funções de extensão e Kotlin Biblioteca normalizada
    • Corrotinas para programação assíncrona
    • Classes seladas, enums e tratamento avançado de erros
  • Java Script (React Nativo)
    • Funcionalidades avançadas do ES6+: Desestruturação, async/await, promessas
    • Conceitos de programação funcional em JavaScript
    • Trabalhando com bibliotecas de terceiros em React Native

Semana 2: Arquitetura de aplicações móveis e Design Patterns

  • MVVM (Model-View-ViewModel) para iOS e Android
    • Entendendo a arquitetura MVVM para iOS (Swift) e Android (Kotlin)
    • Implementação de ViewModels e observação de dados com LiveData (Android) e Combine (iOS)
    • Programação Reactive com RxSwift e RxKotlin
  • Arquitetura baseada em componentes em React Native
    • Compreender os ciclos de vida e os ganchos dos componentes
    • Melhores práticas para gerenciar estado e props em escala
    • Usando a API de contexto do React para gerenciamento de estado global

Semana 3: Conceitos Networking avançados

  • Networking em iOS (Swift)
    • Trabalhando com URLSession para solicitações de rede personalizadas
    • Chamadas avançadas da API REST e tratamento de erros
    • Trabalhando com Codable e análise de JSON
    • Práticas recomendadas para comunicação segura da API (fixação SSL, OAuth)
  • Networking em Android (Kotlin)
    • Retrofit para efetuar chamadas à API e tratar respostas
    • Mecanismos avançados de tratamento e repetição de erros da API
    • Utilização de Gson ou Moshi para análise de JSON
    • Comunicação segura usando HTTPS e autenticação OAuth

Semana 4: Networking em React Nativo

  • Integração de API com Axios e Fetch
    • Integração avançada de API com Axios e Fetch
    • Estratégias de tratamento de erros e novas tentativas em solicitações de rede
    • Trabalhando com autenticação (JWT, OAuth)
  • WebSockets e tempo real Communication
    • Introdução aos WebSockets em React Nativo
    • Criação de funcionalidades de chat ou notificação em tempo real com ligações WebSocket
    • Gerenciando conexões persistentes e atualizações de dados

Semana 5: Técnicas avançadas de persistência de dados

  • Dados básicos e SQLite (iOS)
    • Relacionamentos avançados de dados principais, obtenção e consultas
    • Usando SQLite diretamente para aplicativos iOS e gerenciando conexões de banco de dados
    • Manuseamento e otimização eficientes dos dados
  • Persistência na sala e SQLite (Android)
    • Relações e consultas avançadas da base de dados Room
    • Gestão de grandes conjuntos de dados e otimização do desempenho da base de dados
    • Utilização do ProGuard para proteção das estruturas da base de dados
  • Firebase para armazenamento em nuvem (iOS e Android)
    • Integração com Firebase para gestão de bases de dados em tempo real
    • Práticas recomendadas para sincronizar dados locais e na nuvem

Semana 6: Estado avançado Management em React Nativo

  • Redux para Estado Management
    • Conceitos avançados de Redux: Middlewares, Thunks e Sagas
    • Otimizando Redux para desempenho e escalabilidade
  • Recoil para State Management
    • Introdução ao Recoil: Uma alternativa mais flexível ao Redux
    • Manipulação de gerenciamento de estado em larga escala entre componentes
    • Actualizações de estado eficientes e gestão atómica de estado

Semana 7: Animations avançados em iOS e Android

  • iOS (Swift)
    • Núcleo Animation: Animando visualizações, camadas e transições
    • Dinâmica do UIKit: Criar animações baseadas na física
    • Transições e animações personalizadas entre view controllers
  • Android (Kotlin)
    • MotionLayout para criar animações complexas
    • TransitionManager e transições de elementos partilhados
    • Animações de propriedades para dimensionamento, rotação e alterações alfa da vista

Semana 8: Animations e UI/UX em React Nativo

  • React Nativo Animations
    • Usando a API Animated e Reanimated para animações complexas
    • Implementação de gestos e interações utilizando o React Native Gesture Handler
    • Melhores práticas para animações de elevado desempenho em React Native
  • Criação de componentes de IU personalizados
    • Criar componentes reutilizáveis e personalizáveis em React Native
    • Implementando designs responsivos com media queries e flexbox

Semana 9: Integrando módulos nativos e recursos de dispositivo

  • [Integrando recursos nativos do dispositivo
    • Utilização avançada da câmara, geolocalização, Bluetooth e sensores
    • Criando módulos nativos em Swift e Kotlin para integração nativa React
    • Integração do ARKit para realidade aumentada em iOS
    • Integração do CameraX e ARCore para realidade aumentada em Android
  • React Ponte nativa e módulos nativos
    • Criação de módulos nativos personalizados para integração com funcionalidades específicas da plataforma
    • Criação de pontes Java e Swift para aplicações React Nativas
    • Práticas recomendadas para gerenciar código nativo em um ambiente de plataforma cruzada

Semana 10: Testando e depurando aplicativos avançados

  • Testando em iOS (Swift)
    • Escrevendo testes unitários com XCTest e testes de interface do usuário para iOS
    • Usando o Xcode Instruments para criação de perfil de desempenho e vazamentos de memória
    • Fluxos de trabalho de integração e teste contínuos com Jenkins e CircleCI
  • Testes em Android (Kotlin)
    • Testes avançados de JUnit e Espresso para aplicações Android
    • Criação de perfis de desempenho e identificação de estrangulamentos utilizando o Android Profiler
    • Utilização do Firebase Test Lab para testes automatizados em vários dispositivos
  • Testes nativos React
    • Testes unitários com Jest e testes de componentes com Enzyme
    • Testes de ponta a ponta com o Detox e configurações de testes automatizados
    • Criação de perfil de desempenho usando React Native Debugger e Flipper

Semana 11: Implantação de aplicativos e integração contínua

  • Implantação na App Store (iOS)
    • Preparar a sua aplicação para submissão: Certificados da App Store, perfis de provisionamento e teste beta do TestFlight
    • Usar o Fastlane para automatizar a implantação de aplicativos iOS
    • Gerir o App Store Connect e configurar processos de revisão de aplicações
  • Implantação do Google Play (Android)
    • Preparar o APK e assiná-lo para submissão ao Google Play
    • Automatizar a implantação da aplicação Android com Fastlane e Gradle
    • Utilizar a consola do Google Play para revisão da aplicação e testes beta
  • Configurar pipelines de CI/CD
    • Configurar Jenkins, GitHub Actions ou CircleCI para pipelines automatizados de criação e implantação
    • Usando Fastlane para fluxos de trabalho de CI/CD iOS e Android
    • Práticas recomendadas para lidar com controle de versão, números de compilação e canais de lançamento

Semana 12: Projeto Capstone

  • Desenvolvimento do projeto final
    • Projetar e desenvolver um aplicativo totalmente funcional que incorpore recursos avançados aprendidos ao longo do curso.
    • Implemente UI/UX personalizada, animações avançadas, gerenciamento de estado, integração de módulo nativo e comunicação API em tempo real.
    • Otimizar a aplicação para desempenho e implementá-la na App Store e no Google Play.

Resumo e próximos passos

Requisitos

  • Conhecimentos sólidos dos conceitos de programação, nomeadamente em Swift, Kotlin e JavaScript
  • Experiência prévia na criação de aplicações nativas básicas iOS, Android ou React
  • Conhecimento de padrões de design como MVC ou MVVM e experiência com gerenciamento básico de estado

Público

  • Programadores móveis
  • Programadores
 420 Horas

Declaração de Clientes (5)

Próximas Formações Provisórias

Categorias Relacionadas