Você está na página 1de 7

26/10/2022 21:15 Preface | Clean Android Architecture

Prefácio

À medida que a base de código de um aplicativo aumenta, fica mais difícil


para os desenvolvedores manter os recursos existentes e introduzir novos.
Neste livro de arquitetura limpa, você aprenderá como identificar quando e
como esse problema surge e como estruturar seu código para superá-lo.

O livro começa explicando os princípios de arquitetura limpa e os componen-


tes da arquitetura Android e, em seguida, explora as ferramentas, estruturas e
bibliotecas envolvidas. Você aprenderá como estruturar seu aplicativo nas ca-
madas de dados e domínio, as tecnologias que vão em cada camada e o papel
que cada camada desempenha para manter seu aplicativo limpo. Você enten-
derá como organizar o código nessas duas camadas e os componentes envolvi-
dos em montá-los. Por fim, abordaremos a camada Apresentação e os padrões
que podem ser aplicados para ter uma base de código desacoplada e testável.

Ao final deste livro, você será capaz de construir um aplicativo seguindo prin-
cípios de arquitetura limpa e terá o conhecimento necessário para manter e
testar o aplicativo com facilidade.

Para quem é este livro

Este livro é para desenvolvedores Android que desejam aprender sobre como
gerenciar a complexidade de seus aplicativos e também é altamente recomen-
dado para desenvolvedores Android intermediários ou avançados que procu-
ram um guia para arquitetura limpa e integração de várias tecnologias An-
droid. Novos desenvolvedores familiarizados com os fundamentos do desen-
volvimento de aplicativos Android também acharão este livro útil.

O que este livro cobre

O Capítulo 1 , Introdução à Arquitetura Limpa , começa apresentando a evolu-


ção dos aplicativos Android em relação à estruturação da lógica de negócios e
os problemas causados ​por essas abordagens. Em seguida, ele fará a transição
https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 1/7
26/10/2022 21:15 Preface | Clean Android Architecture

para como certos padrões foram aplicados para lidar com esses problemas, re-
velando outros conjuntos de problemas. Por fim, será apresentado o conceito
de arquitetura limpa, bem como seus princípios podem ser utilizados para re-
solver alguns dos problemas apresentados anteriormente.

O Capítulo 2 , Mergulho profundo em fontes de dados , aborda quais ferramen-


tas e estruturas do Android estão disponíveis para uso com relação à imple-
mentação da camada de dados e detalhes e expande as que serão usadas pos-
teriormente no livro, como fluxos e corrotinas Kotlin , Retrofit, Room e
DataStore.

O Capítulo 3 , Entendendo a apresentação de dados no Android , aborda quais


ferramentas e estruturas do Android estão disponíveis para uso com relação à
implementação da camada de apresentação e detalhará e expandirá as que se-
rão usadas posteriormente no livro, como Android ViewModel e Jetpack
Compose.

O Capítulo 4 , Gerenciando Dependências em Aplicativos Android , fornece uma


visão geral rápida da injeção de dependência e como ela funciona. Ele explora
brevemente algumas das ferramentas de injeção de dependência disponíveis
para o desenvolvimento Android, terminando com o framework de injeção de
dependência Hilt, sobre o qual entra em uma explicação mais detalhada, pois
será usado em muitos dos exercícios do livro.

O Capítulo 5 , Construindo o Domínio de um Aplicativo Android , descreve como


construir uma camada de domínio e quais componentes fazem parte desta ca-
mada. Você aprenderá sobre entidades e casos de uso ou interatores e quais
funções eles desempenham quando se trata de projetar a arquitetura do seu
aplicativo.

O Capítulo 6 , Montando um Repositório , aborda a camada de Dados e as res-


ponsabilidades que essa camada tem quando se trata de gerenciar os dados de
um aplicativo e como ela pode usar o padrão Repositório para conseguir isso.

O Capítulo 7 , Construindo fontes de dados , continua a exploração da camada


de dados e alguns exemplos de fontes de dados que podem ser definidas no
Android. Você aprenderá a usar fontes de dados remotas para carregar dados

https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 2/7
26/10/2022 21:15 Preface | Clean Android Architecture

de vários servidores, bem como fontes de dados locais, como Room e


DataStore.

O Capítulo 8 , Implementando uma Arquitetura MVVM , apresenta o padrão de


arquitetura MVVM e como ele pode ser usado na camada de apresentação de
uma aplicação. Você aprenderá a usar o Android ViewModel e o LiveData para
criar um aplicativo com MVVM e integrar casos de uso ao ViewModel.

O Capítulo 9 , Implementando uma Arquitetura MVI , apresenta o padrão de ar-


quitetura MVI e como ele pode ser usado na camada de apresentação de uma
aplicação. Você aprenderá como usar fluxos Kotlin e Android ViewModel para
implementar o padrão MVI.

O Capítulo 10 , Juntando tudo , aborda os benefícios da arquitetura limpa ana-


lisando um exemplo de um aplicativo que implementa os conceitos e, em se-
guida, adicionando testes de instrumentação com Espresso e Jetpack Compose.
A introdução de testes de interface do usuário serve como um bom exemplo
de como podemos injetar e alterar determinados comportamentos no aplica-
tivo para fins de teste sem a necessidade de modificar o código do aplicativo.

Para tirar o máximo proveito deste


livro

Você precisará do Android Studio IDE instalado em seu computador (versão


Arctic Fox 2020.3.1 Patch 3 ou superior) e Java 8 para ser instalado. O uso de
versões posteriores do Java, como o Java 11, pode causar erros ao construir al-
guns dos exercícios. É recomendável saber como acionar compilações em um
emulador ou dispositivo e Sincronizações Gradle do Android Studio antes de
tentar os exercícios apresentados no livro.

https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 3/7
26/10/2022 21:15 Preface | Clean Android Architecture

Você pode expandir o exercício final do livro otimizando a maneira como os


dados são carregados, introduzindo caches na memória ou integrando novas
chamadas de rede para buscar dados adicionais para os usuários. Você tam-
bém pode melhorar o teste de instrumentação adicionando interação com a
lista de dados e abrindo novas telas e afirmando que os dados corretos são
exibidos.

Se você estiver usando a versão digital deste livro, recomendamos que


você digite o código você mesmo ou acesse o código no repositório GitHub
do livro (um link está disponível na próxima seção). Isso ajudará você a
evitar possíveis erros relacionados à cópia e colagem do código.

Baixe os arquivos de código de


exemplo

O pacote de código para o livro também está hospedado no GitHub em


https://github.com/PacktPublishing/Clean-Android-Architecture . Se houver
uma atualização no código, ela será atualizada no repositório GitHub
existente.

Também temos outros pacotes de código do nosso rico catálogo de livros e ví-
deos disponíveis em https://github.com/PacktPublishing/ . Confira-os!

Código em ação

Os vídeos do Code in Action para este livro podem ser vistos em


https://bit.ly/3LqAa30

Baixe as imagens coloridas

Também fornecemos um arquivo PDF com imagens coloridas das capturas de


tela e diagramas usados ​neste livro. Você pode baixá-lo aqui:
https://static.packt-cdn.com/downloads/9781803234588_ColorImages.pdf

https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 4/7
26/10/2022 21:15 Preface | Clean Android Architecture

Convenções usadas

Há várias convenções de texto usadas ao longo deste livro.

Código em texto : Indica palavras de código em texto, nomes de tabelas de

banco de dados, nomes de pastas, nomes de arquivos, extensões de arquivos,


nomes de caminhos, URLs fictícios, entrada do usuário e identificadores do
Twitter. Aqui está um exemplo: "Dentro da pasta de recursos , crie uma sub-
pasta chamada mockito-extensions . Dentro desta pasta, crie um arquivo cha-
mado org.mockito.plugins.MockMaker , e dentro deste arquivo, adicione o texto
mock-maker-inline ."

Um bloco de código é definido da seguinte forma:

classe de dados Usuário(


    val id: String,
    val firstName: String,
    val lastName: String,
    val email: String
) {
    fun getFullName() = "$firstName $lastName"
}
Quando desejamos chamar sua atenção para uma parte específica de um
bloco de código, as linhas ou itens relevantes são definidos em negrito:


@Composable
fun Screen(viewModel: MainViewModel = viewModel(factory =
MainViewModelFactory())) {
    viewModel.uiStateLiveData.observeAsState().value?.let
{
        UserList(uiState = it)
    }
}

Negrito : indica um novo termo, uma palavra importante ou palavras que
você vê na tela. Por exemplo, palavras em menus ou caixas de diálogo apare-
https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 5/7
26/10/2022 21:15 Preface | Clean Android Architecture

cem em negrito . Aqui está um exemplo: "Crie um novo projeto no Android


Studio usando uma atividade de composição vazia ."

DICAS OU NOTAS IMPORTANTES

Apareça assim.

Entrar em contato

O feedback dos nossos leitores é sempre bem-vindo.

Feedback geral : Se você tiver dúvidas sobre qualquer aspecto deste livro, en-
vie-nos um e-mail para customercare@packtpub.com e mencione o título do
livro no assunto de sua mensagem.

Errata : Apesar de termos tomado todos os cuidados para garantir a precisão


do nosso conteúdo, erros acontecem. Se você encontrou um erro neste livro,
ficaríamos gratos se você nos informasse. Visite
www.packtpub.com/support/errata e preencha o formulário.

Pirataria : Se você encontrar cópias ilegais de nossos trabalhos de qualquer


forma na Internet, ficaríamos gratos se você nos fornecesse o endereço do lo-
cal ou o nome do site. Entre em contato conosco em copyright@packt.com com
um link para o material.

Se você estiver interessado em se tornar um autor : Se houver um tópico


no qual você tenha experiência e estiver interessado em escrever ou contri-
buir para um livro, visite author.packtpub.com .

Compartilhe seus pensamentos

Depois de ler Clean Android Architecture , adoraríamos saber sua opinião! Por
favor , clique aqui para ir direto para a página de revisão da Amazon para este
livro e compartilhar seus comentários.

Sua avaliação é importante para nós e para a comunidade de tecnologia e nos


ajudará a garantir que estamos entregando conteúdo de excelente qualidade.
https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 6/7
26/10/2022 21:15 Preface | Clean Android Architecture

Apoiar Sair

© 2022 O'REILLY MEDIA, INC.  TERMOS DE SERVIÇO POLÍTICA DE PRIVACIDADE

https://learning.oreilly.com/library/view/clean-android-architecture/9781803234588/B18320_Preface_ePub.xhtml#_idParaDest-14 7/7

Você também pode gostar