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
Declaração de Clientes (5)
O Edward é um facilitador espetacular
Zibusiso Ncube - Agricatural Research Council
Curso - Ionic 4 and Angular for Developers
Máquina Traduzida
A minha parte preferida é a das perguntas e respostas com o Sr. José. José. Ele é muito conhecedor e sabe responder às nossas perguntas.
John Henry - Toyota Motor Philippines
Curso - .NET MAUI (Intermediate)
Máquina Traduzida
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Curso - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic
Isaac Murphy - Royal New Zealand Airforce
Curso - Build Native iOS and Android Apps with Flutter
Learning the steps required to implement the MVVM model.