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: 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