Desenvolvimento Android:
Do Zero ao Profissional com Kotlin e Jetpack Compose
Público-Alvo:
- Iniciantes em programação com noções de lógica.
- Desenvolvedores de outras áreas (web, desktop) que desejam migrar para o desenvolvimento mobile.
- Estudantes de tecnologia que buscam uma especialização com alta demanda no mercado.
Pré-requisitos:
- Lógica de programação.
- Familiaridade com qualquer linguagem de programação orientada a objetos (ajuda, mas não é estritamente necessário).
Ferramentas Utilizadas:
- Linguagem: Kotlin
- IDE: Android Studio (versão mais recente)
- Controle de Versão: Git e GitHub
Estrutura do Curso
O curso será 100% prático, centrado no desenvolvimento de um aplicativo completo do zero: um “Catálogo de Filmes”, que buscará informações de uma API, permitirá salvar favoritos, e terá uma interface moderna e reativa.
Módulo 1: Boas-vindas e Configuração do Ambiente 🚀
- Aula 1: Apresentação do curso, do instrutor e do projeto final.
- Aula 2: O que é o desenvolvimento Android moderno? (Kotlin, Jetpack Compose, Arquitetura Limpa).
- Aula 3: Instalando e configurando o Android Studio no Windows, macOS e Linux.
- Aula 4: Conhecendo a interface do Android Studio e o emulador Android.
- Aula 5: Fundamentos de Git e criando nosso repositório no GitHub.
Módulo 2: Fundamentos de Kotlin para Android
- Aula 1: Variáveis, tipos de dados e nulabilidade (o “billion-dollar mistake” que o Kotlin resolve).
- Aula 2: Estruturas de controle:
if/else
,when
. - Aula 3: Estruturas de repetição:
for
,while
. - Aula 4: Funções e lambdas.
- Aula 5: Classes, objetos e herança em Kotlin.
- Aula 6: Coleções:
List
,Map
,Set
.
Módulo 3: Construindo Interfaces com Jetpack Compose 🎨
- Aula 1: Adeus XML, olá Compose! Entendendo a programação declarativa de UI.
- Aula 2: Layouts básicos:
Column
,Row
,Box
. - Aula 3: Componentes essenciais:
Text
,Button
,TextField
,Image
. - Aula 4: Gerenciando estado:
remember
,mutableStateOf
. - Aula 5: Projeto Prático: Criando a tela de detalhes de um filme.
Módulo 4: Navegação e Múltiplas Telas 🗺️
- Aula 1: Introdução à biblioteca Navigation Compose.
- Aula 2: Configurando o
NavHost
e oNavController
. - Aula 3: Passando argumentos entre telas (ex: o ID do filme).
- Aula 4: Estruturando um aplicativo com múltiplas telas (tela principal, tela de detalhes, tela de favoritos).
Módulo 5: Arquitetura de Software Moderna (MVVM & Clean Architecture) 🏗️
- Aula 1: Por que arquitetura é importante? Prevenindo código “espaguete”.
- Aula 2: Padrão MVVM:
View
,ViewModel
. - Aula 3: Introdução ao Jetpack ViewModel: Sobrevivendo a mudanças de configuração.
- Aula 4: Injeção de Dependência com Hilt: Desacoplando o código.
- Aula 5: Organizando o projeto em camadas: UI, Domínio e Dados (Clean Architecture).
Módulo 6: Consumindo Dados da Internet (Networking) ☁️
- Aula 1: Programação Assíncrona com Corrotinas Kotlin.
- Aula 2: Introdução ao Retrofit: O padrão para consumir APIs REST.
- Aula 3: Mapeando JSON para objetos Kotlin.
- Aula 4: Projeto Prático: Buscando e exibindo a lista de filmes populares de uma API (The Movie Database - TMDB).
Módulo 7: Salvando Dados Localmente (Persistência) 💾
- Aula 1: Introdução à biblioteca Room para banco de dados SQLite.
- Aula 2: Definindo Entidades, DAOs e o Database.
- Aula 3: Introdução ao DataStore para salvar preferências simples (ex: tema claro/escuro).
- Aula 4: Projeto Prático: Implementando a função “Salvar como Favorito” em nosso app.
Módulo 8: Exibindo Listas de Forma Eficiente 📜
- Aula 1: Criando listas roláveis com
LazyColumn
eLazyRow
. - Aula 2: Otimizando o desempenho de listas.
- Aula 3: Projeto Prático: Exibindo a lista de filmes e a lista de favoritos.
Módulo 9: Testes Automatizados ✅
- Aula 1: A importância de testar seu aplicativo.
- Aula 2: Testes de Unidade com JUnit e MockK: Testando a lógica do ViewModel.
- Aula 3: Testes de UI com Jetpack Compose: Verificando se a interface funciona como esperado.
Módulo 10: Tópicos Avançados e Publicação 🏆
- Aula 1: Tarefas em segundo plano com WorkManager.
- Aula 2: Integração com Firebase (Autenticação e Analytics).
- Aula 3: Preparando o app para publicação: Ícones, versionamento e build de release.
- Aula 4: O processo de publicação na Google Play Store.
Projeto Final a ser Desenvolvido
Ao final do curso, o aluno terá construído um aplicativo completo, “Catálogo de Filmes”, com as seguintes funcionalidades:
- Interface moderna e reativa com Jetpack Compose e Material Design 3.
- Consumo de dados de uma API REST pública (TMDB).
- Lista de filmes populares com scroll infinito.
- Tela de detalhes para cada filme.
- Sistema de “Favoritos” com persistência de dados local (Room).
- Arquitetura profissional MVVM e Clean Architecture com injeção de dependência (Hilt).
- Código testado e pronto para ser publicado.