Android nativo com Kotlin e MVVM Simplificando técnicas avançadas
Paulo Salvatore
Sobre o livro
Este livro é destinado a devs que desejam aprender a desenvolver aplicativos para Android nativo utilizando o Kotlin e diferentes bibliotecas. Ele apresenta um projeto de exemplo, o DevMon, que é inspirado na Pokédex (dispositivo eletrônico do universo de Pokémon™) e exibe criaturas mágicas com nomes inspirados em diversas tecnologias. O objetivo deste livro é ensinar como programar uma solução completa, além de abordar conceitos avançados do desenvolvimento nativo no Android, incluindo arquitetura, padrões e kits de ferramentas.
O livro cobre desde as bases do desenvolvimento de aplicativos para Android, passando por conceitos avançados e mostrando como aplicá-los de forma prática, com base em um projeto real. Além disso, o livro apresenta uma abordagem lúdica e criativa, utilizando criaturas mágicas como elementos de ensino para tornar a leitura mais agradável e divertida.
Este livro é uma excelente opção para quem quer entender um pouco mais do ecossistema de desenvolvimento Android, com uma abordagem prática, baseada em projetos reais, de forma lúdica e criativa. O projeto DevMon permite aplicar os conceitos aprendidos de forma concreta e visualizar o resultado final do desenvolvimento. Isso ajuda a solidificar o aprendizado e torna o conteúdo mais facilmente aplicável na prática.
Para quem é este livro
Este livro é destinado a pessoas que querem ter um aspecto geral do desenvolvimento avançado com Android nativo, usando Kotlin como linguagem de programação.
Não é necessário um conhecimento profundo sobre Android para produzir os projetos; entretanto, é importante que já tenha familiaridade com lógica de programação e experiência com alguma linguagem de programação.
Pré-requisitos
A principal motivação para a criação deste livro é desmistificar o desenvolvimento de aplicativos Android, utilizando a plataforma nativa em Java/Kotlin. É importante ressaltar que, quando optamos por desenvolver nesse ambiente, algumas considerações devem ser feitas para entender o momento em que a tecnologia se encontra e os motivos pelos quais utilizaremos as abordagens presentes neste livro.
Como este livro tem o objetivo de trazer diversos aspectos do desenvolvimento avançado para a plataforma Android, assumiremos que alguns conceitos básicos da plataforma Android já foram vistos, mesmo que de forma superficial. Os tópicos com os quais você já deve ter alguma familiaridade antes de ler este livro são:
Conhecimentos específicos de Android:
- Activities (classes e layout XML);
- Fragments;
- Intents;
- Estrutura de arquivos e pastas do Android;
- Criação e manipulação de elementos de UI (Views como TextView, EditText, Button, Layouts etc.).
Conhecimentos gerais de programação:
- Lógica de programação;
- Sintaxe básica com alguma linguagem de programação;
- Conhecimentos básicos em programação orientada a objetos.
Caso esses conhecimentos sejam novos para você, recomendamos que assista a um conteúdo introdutório sobre Android ou programação antes de ler este livro.
No canal do YouTube do Paulo Salvatore, há uma playlist de Android com vídeos introdutórios que devem auxiliar você nesse processo: Playlist Android Nativo com Kotlin
Considerações
Quando estamos construindo uma aplicação para Android nativo, precisamos considerar três categorias principais: Linguagem de programação, Arquitetura e Kit de ferramentas.
Ao considerarmos esses três tópicos, conseguimos entender os motivos fundamentais de o desenvolvimento Android ser do jeito que ele é hoje, além de compreendermos como usar isso a nosso favor, considerando as linguagens de programação existentes, os modelos de arquitetura disponíveis e o kit de ferramentas, que cada vez mais evolui.
No primeiro e no segundo capítulo deste livro, detalhamos esses três tópicos e a importância de cada um para o universo Android.
A partir do terceiro capítulo, criamos o projeto e começamos a construir as suas fundações: fluxo de navegação entre telas; construção da lista de criaturas; e preparação do data binding.
Com as fundações preparadas, é hora de trazer mais comportamento para a aplicação e aplicar os conceitos de arquitetura na prática. Entre o sétimo e o nono capítulo, implementamos a aquisição de criaturas, a função de esconder as criaturas ainda desconhecidas e a de visualizar mais informações de cada criatura individualmente.
Por fim, nos dois últimos capítulos, introduzimos a biblioteca RX, ensinando a trabalhar com fluxos de dados síncronos e assíncronos, e concluímos com a integração a uma API web, obtendo dados das criaturas a partir de um servidor online.
Sobre o autor
Professor e desenvolvedor, comecei a programar copiar e colar código por volta dos 12 anos, criando meus próprios servidores de Tibia utilizando Lua e C++.
Iniciei a faculdade aos 22. Tive o meu primeiro emprego como dev em 2016, aos 23, e me tornei CTO aos 24. Atuando como professor desde março de 2017, estou sempre em busca de compartilhar o conhecimento que adquiri ao longo dessa jornada. Atualmente, leciono cursos gratuitos no Samsung Ocean e faço parte da FIAP, na graduação de Jogos Digitais e no MBA de Gestão da TI (https://oceanbrasil.com/ e https://fiap.com.br/).
Formado em Jogos Digitais pela FIAP, onde também fiz um MBA em Gestão Estratégica de Negócios, para sair um pouco da zona de conforto tech. Colaborei em um artigo científico publicado na revista Water sobre o uso da realidade virtual para engajar comunidades a entenderem consequências da mudança climática, em específico o aumento do nível dos oceanos (https://mdpi.com/2073-4441/13/9/1142).
Em 2018, cofundei a Virtual Planet, startup localizada na Califórnia que utiliza tecnologias imersivas (como a realidade virtual) para comunicar melhor os problemas relacionados à mudança climática, como o aumento do nível dos oceanos e da quantidade de incêndios florestais, além de jogos que tratam sobre o tema saúde mental, animações 3D que falam sobre áreas marinhas protegidas, entre diversos outros projetos (https://virtualplanet.tech/).
Escritor, muito feliz em publicar pela Casa do Código o meu primeiro livro, que tem o objetivo de apresentar de forma dinâmica e lúdica a criação de apps Android com Kotlin, introduzindo o universo do DevMon e guiando as implementações em cima de um projeto simples e que simula a realidade (https://fabricadesinapse.github.io/DevMon/).
Atualmente, estou em busca de ampliar os meus projetos de educação e adquirir novas experiências no mundo da programação.
Sumário
- 1 Iniciando a nossa jornada
- 1.1 Linguagem de programação
- 1.2 Arquitetura
- 1.3 Kit de ferramentas
- 2 Overview do projeto
- 2.1 Arquitetura — View
- 2.2 Arquitetura — ViewModel
- 2.3 Arquitetura — Model
- 3 Criando o projeto
- 3.1 Clonando o repositório
- 3.2 Injeção de dependência (DI)
- 3.3 Bibliotecas para DI
- 3.4 Implementando o Hilt no projeto
- 4 Fluxo de navegação
- 4.1 Criando a lista de criaturas
- 4.2 Criando o gráfico de navegação
- 5 Lista de criaturas
- 5.1 Preparando a camada Model
- 5.2 Preparando a camada View Model
- 5.3 Integrando Model e View Model na camada View
- 6 Data Binding
- 6.1 Implementando o Data Binding
- 6.2 Exibindo imagens
- 7 Adquirindo criaturas
- 7.1 Iniciando a sessão do usuário
- 7.2 Criação da tela de escolher criatura
- 7.3 Criação da tela da criatura adicionada
- 8 Silhueta das criaturas
- 8.1 Preparando a camada Model
- 8.2 Preparando a camada View Model
- 8.3 Preparando a camada View
- 9 Visualizando criaturas
- 9.1 Preparando a camada View Model
- 9.2 Criando a tela de visualização da criatura
- 9.3 Abrir a tela ao clicar no item da lista
- 10 ReactiveX (RX)
- 10.1 Programação Reativa
- 10.2 Fluxo de dados síncrono vs. assíncrono
- 10.3 A base do RX
- 10.4 Implementando o RX no projeto
- 11 Integrando com back-end
- 11.1 Networking
- 11.2 Retrofit
- 11.3 JSON
- 11.4 Implementando no projeto
- 12 Encerramento
- 12.1 Próximos passos?
Dados do produto
- Número de páginas:
- 258
- ISBN:
- 978-85-5519-340-8
- Data publicação:
- 07/2023