Entrar em Contato

Programa do Curso

Introdução

Semana 1: Conceitos Avançados de Swift, Kotlin e JavaScript

  • 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 Biblioteca Padrão do Kotlin.
    • Coroutines para programação assíncrona.
    • Classes seladas, enums e tratamento avançado de erros.
  • JavaScript (React Native)
    • Recursos avançados ES6+: Destructuring, async/await, promises.
    • Conceitos de programação funcional em JavaScript.
    • Trabalhando com bibliotecas de terceiros no React Native.

Semana 2: Arquitetura e Padrões de Design para Aplicativos Móveis

  • MVVM (Model-View-ViewModel) para iOS e Android
    • Compreensão da 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 reativa com RxSwift e RxKotlin.
  • Arquitetura Baseada em Componentes no React Native
    • Compreensão dos ciclos de vida dos componentes e hooks.
    • Melhores práticas para gerenciar estado e props em escala.
    • Uso da API do Contexto do React para gerenciamento global de estado.

Semana 3: Conceitos Avançados de Rede

  • Rede em iOS (Swift)
    • Trabalhando com URLSession para solicitações de rede personalizadas.
    • Chamadas avançadas de API REST e tratamento de erros.
    • Trabalhando com Codable e análise de JSON.
    • Melhores práticas para comunicação segura de APIs (pinning SSL, OAuth).
  • Rede em Android (Kotlin)
    • Retrofit para fazer chamadas de API e tratar respostas.
    • Tratamento avançado de erros de API e mecanismos de retry.
    • Usando Gson ou Moshi para análise de JSON.
    • Comunicação segura usando HTTPS e autenticação OAuth.

Semana 4: Rede no React Native

  • 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 retries em solicitações de rede.
    • Trabalhando com autenticação (JWT, OAuth).
  • WebSockets e Comunicação em Tempo Real
    • Introdução aos WebSockets no React Native.
    • Criando recursos de chat ou notificações em tempo real com conexões WebSocket.
    • Gestão de conexões persistentes e atualizações de dados.

Semana 5: Técnicas Avançadas de Persistência de Dados

  • Core Data e SQLite (iOS)
    • Relacionamentos avançados, buscas e consultas no Core Data.
    • Uso direto do SQLite para aplicativos iOS e gestão de conexões ao banco de dados.
    • Tratamento eficiente de dados e otimização.
  • Persistência Room e SQLite (Android)
    • Relacionamentos e consultas avançados no banco de dados Room.
    • Gestão de grandes conjuntos de dados e otimização do desempenho do banco de dados.
    • Uso do ProGuard para proteger as estruturas do banco de dados.
  • Firebase para Armazenamento em Nuvem (iOS e Android)
    • Integração com Firebase para gerenciamento de banco de dados em tempo real.
    • Melhores práticas para sincronizar dados locais e na nuvem.

Semana 6: Gerenciamento Avançado de Estado no React Native

  • Redux para Gestão de Estado
    • Conceitos avançados do Redux: Middlewares, Thunks e Sagas.
    • Otimização do Redux para desempenho e escalabilidade.
  • Recoil para Gestão de Estado
    • Introdução ao Recoil: uma alternativa mais flexível ao Redux.
    • Lidando com gerenciamento de estado em larga escala entre componentes.
    • Atualizações eficientes de estado e gerenciamento atômico de estado.

Semana 7: Animações Avançadas no iOS e Android

  • iOS (Swift)
    • Core Animation: Animando visualizações, camadas e transições.
    • UIKit Dynamics: Criando animações baseadas em física.
    • Transições personalizadas e animações entre controladores de visualização.
  • Android (Kotlin)
    • MotionLayout para criar animações complexas.
    • TransitionManager e transições de elementos compartilhados.
    • Animações de propriedade para escala, rotação e mudanças de alfa em visualizações.

Semana 8: Animações e UI/UX no React Native

  • Animações do React Native
    • Uso da API Animated e Reanimated para animações complexas.
    • Implementação de gestos e interações usando o React Native Gesture Handler.
    • Melhores práticas para animações com bom desempenho no React Native.
  • Criação de Componentes UI Personalizados
    • Criando componentes reutilizáveis e personalizáveis no React Native.
    • Implementando designs responsivos com media queries e flexbox.

Semana 9: Integração de Módulos Nativos e Recursos do Dispositivo

  • Acessando Recursos Nativos do Dispositivo
    • Uso avançado da câmera, geolocalização, Bluetooth e sensores.
    • Criando módulos nativos em Swift e Kotlin para integração com React Native.
    • Integrando ARKit para realidade aumentada no iOS.
    • Integrando CameraX e ARCore para realidade aumentada no Android.
  • Ponte do React Native e Módulos Nativos
    • Criando módulos nativos personalizados para integrar com funcionalidades específicas da plataforma.
    • Criando pontes Java e Swift para aplicativos React Native.
    • Melhores práticas para gerenciar código nativo em um ambiente multiplataforma.

Semana 10: Testes e Depuração de Aplicativos Avançados

  • Testes no iOS (Swift)
    • Escrita de testes unitários com XCTest e testes de interface do usuário para iOS.
    • Uso do Xcode Instruments para perfilamento de desempenho e detecção de vazamentos de memória.
    • Integração contínua e fluxos de teste com Jenkins e CircleCI.
  • Testes no Android (Kotlin)
    • Testes avançados JUnit e Espresso para aplicativos Android.
    • Perfilamento de desempenho e identificação de gargalos usando o Android Profiler.
    • Uso do Firebase Test Lab para testes automatizados em múltiplos dispositivos.
  • Testes no React Native
    • Testes unitários com Jest e testes de componentes com Enzyme.
    • Testes de ponta a ponta usando Detox e configurações de teste automatizado.
    • Perfilamento de desempenho usando o React Native Debugger e Flipper.

Semana 11: Implantação do Aplicativo e Integração Contínua

  • Implantação na App Store (iOS)
    • Preparando seu aplicativo para submissão: certificados da App Store, perfis de provisionamento e testes beta via TestFlight.
    • Usando o Fastlane para automatizar a implantação do aplicativo iOS.
    • Gestão do App Store Connect e configuração dos processos de revisão do aplicativo.
  • Implantação no Google Play (Android)
    • Preparação do APK e assinatura para submissão no Google Play.
    • Automação da implantação de aplicativos Android com Fastlane e Gradle.
    • Uso do Google Play Console para revisão do aplicativo e testes beta.
  • Configuração de Pipelines CI/CD
    • Configurando Jenkins, GitHub Actions ou CircleCI para pipelines automatizados de build e implantação.
    • Uso do Fastlane para fluxos de trabalho CI/CD tanto no iOS quanto no Android.
    • Melhores práticas para lidar com versionamento, números de build e canais de lançamento.

Semana 12: Projeto Final (Capstone Project)

  • Desenvolvimento do Projeto Final
    • Projetar e desenvolver um aplicativo totalmente funcional que incorpore recursos avançados aprendidos ao longo do curso.
    • Implementar UI/UX personalizado, animações avançadas, gerenciamento de estado, integração de módulos nativos e comunicação de API em tempo real.
    • Otimizar o aplicativo para desempenho e implantá-lo na App Store e Google Play.

Resumo e Próximos Passos

Requisitos

  • Sólido entendimento de conceitos de programação, especialmente em Swift, Kotlin e JavaScript.
  • Experiência prévia na construção de aplicativos básicos para iOS, Android ou React Native.
  • Conhecimento de padrões de design como MVC ou MVVM e experiência com gerenciamento básico de estado.

Público-Alvo

  • Desenvolvedores móveis
  • Programadores
 420 Horas

Número de participantes


Preço por participante

Testemunhos de Clientes (3)

Próximas Formações Provisórias

Categorias Relacionadas