Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Globalcode – Open4education
Trilha – Android/KotlinDiego Cunha
Android Developer IWS Brazil
Globalcode – Open4education
AgendaAndroid JetpackO que é injeção de dependênciasKoin, o grande inimigo do Dagger2Android Jetpack + Koin: Casamento perfeito
Globalcode – Open4education
Sobre mim• Android Developer 3 anos na
IWS Brazil
• Formado em Analise e Desenvolvimento de Sistemas
• Pós graduado em MetodologiasÁgeis
• Cozinheiro nas horas vagas
• Evangelista de Uncle Bob
Globalcode – Open4education
Android JetpackA Google corrigindo os erros do passado
Globalcode – Open4education
Android JetpackConjunto de bibliotecas que visam ajudar desenvolvedoresa criar aplicativos mais facilmente.
Trouxe um padrão de projeto para o Android (Antes elesfaziam exemplos com o MVVM).
Corrigiram os erros do passado
Dividido em componentes
Globalcode – Open4education
Android Jetpack
Globalcode – Open4education
Android Jetpack: Architecture
Bibliotecas para tornar o aplicativo mais robusto, testável e de fácil manutenção
Lida com problemas como ciclo de vida, data binding, navigation, workmanager, banco de dados entre outros componentes responsáveis por daruma arquitetura ao projeto.
Globalcode – Open4education
Android Jetpack: UIResponsável por todos os componentes que teminteração direta com o usuário
Atualizou e corrigiu erros existentes emfragmentos
Facilitou a utilização do Material Design do Google
Globalcode – Open4education
Android Jetpack: Behaviour
Responsável por conectar com serviços do sistema operacional Android
Removeu boilerplate para questões como uso de camera, requisição de notificações
CameraX, Slice, Notifications
Globalcode – Open4education
Android Jetpack: Foundation
Responsável pela retro compatibilidade das bibliotecas
Trouxe o suporte do Kotlin ao Android
Android KTX, AppCompat entre outros
Globalcode – Open4education
Injeção de dependência
O que é? Do que se alimenta? Onde vive?
Globalcode – Open4education
Injeção de dependênciaPadrão de projeto onde o foco é o baixo acoplamento
Remover a necessidade de classes específicas
Você pode imaginar ela como uma caixa de ferramentas enquanto vocêmonta uma cadeira
Spring, Dagger2, ASP.NET Core e…..Koin!
Globalcode – Open4education
Koin
Say hello to my little friend
Globalcode – Open4education
KoinBiblioteca de injeção de dependência
100% escrita em Kotlin
Mais limpo que Dagger2
Suporte a Unity Tests/Testes de UI
Globalcode – Open4education
KoinDesenvolvida em módulos
Sem geração de código nem se utiliza de proxys e reflexão
100% compatível com Android Jetpack ViewModel
Globalcode – Open4education
Koin: Pilaresget: Injeta a instância requisitada no construtor da classe
factory: Cria uma nova instância injetável cada vezque é chamada.
Globalcode – Open4education
Koin: Pilaressingle: Cria um singleton da classe/interface a ser utilizada
viewModel: Utilizada em conjunto com Jetpack e gera uma instância de ViewModel com respeito aociclo de vida
Globalcode – Open4education
Koin:Pilares
Globalcode – Open4education
Koin: Inicialização
Globalcode – Open4education
Koin: ViewModel
Globalcode – Open4education
Koin: Fragment
Globalcode – Open4education
Koin + Android JetpackO casamento perfeito
Globalcode – Open4education
Koin + Jetpack = <3 Koin é de fácil integração com Android, visto que tem um módulo só para isso
Aplicativos com tamanho de .apk muito menor
Menos tempo de builds
Globalcode – Open4education
Koin + Jetpack = <3
Globalcode – Open4education
Koin + Jetpack = <3Sintaxe mais limpa nas camadas de View/ViewModel
Fácil aprendizado de código para iniciantes
Menos boilerplate
Globalcode – Open4education
Koin + Jetpack = <3Sem geração de código
Jetpack te proporciona abstrair coisas antigascomo SQLite e WorkManagers
Jetpack permite criar um aplicativo reativo com poucos passos
Globalcode – Open4education
Koin + Jetpack = <3Koin permite pessoas novas em desenvolvimentoentender Injeção de Dependência
Koin tem fácil integração com testes
Globalcode – Open4education
Koin + Jetpack = <3 Teste
Globalcode – Open4education
Koin + Jetpack = <3 Teste
Globalcode – Open4education
Koin + Jetpack = <3 Teste
Globalcode – Open4education
Koin + Jetpack = <3 Teste
Globalcode – Open4education
Obrigado!