Introdução ao Android Jetpack
Google IO é uma conferência que a Google realiza anualmente com o objectivo de orientar os desenvolvedores a melhorar os seus produtos. É durante essa conferencia que a Google aproveita fazer o anuncio de novos produtos. A conferência mais recente foi realizada durante os dias 8–10 Maio (2018) e como de costume, a Google apresentou várias melhorias e novas tecnologias que deixaram vários desenvolvedores entusiasmados, umas das novidades foi o Android Jetpack que logo despertou a minha atenção. E é sobre o Android Jetpack que irei falar neste e nos próximos artigos.
Este é primeiro artigo da serie onde irei apresentar de forma muito breve o Android Jetpack e os seus componentes.
O que é o Android Jetpack?
O Android Jetpack é nada mais e nada menos que um conjunto de componentes, ferramentas e orientações que nos ajudam a construir aplicações android robustas de forma rápida e simples. O Android Jetpack traz consigo cinco novos componentes:
- Navigation
- Paging
- WorkManager
- Android KTX
- Slices
1. Navigation
É um framework que ajuda a estruturar a interface do utilizador no aplicativo, com o foco em criar um aplicativo com a arquitectura Single-Activity.
O Navigation facilita na implementação dos requisitos de navegação e permite visualizar o fluxo de navegação do aplicativo. Oferece vários benefícios, como por exemplo:
- Manipulação das transações de fragments;
- Fornece um tipo padrão para animações e transações;
- O Android Studio oferece ferramentas para visualização e alteração do fluxo de navegação do aplicativo.
2. Paging
Várias aplicações carregam dados a partir de uma fonte dados qualquer (ex: base de dados), e muitas vezes essa fonte possui vários itens, mas apenas uma pequena porção deles é carregado de uma só vez.
Paging é uma biblioteca que nos permite carregar dados gradualmente e adapta-los ao RecyclerView do nosso aplicativo, consumindo menos largura de banda de rede e poucos recursos do sistema do dispositivo.
3. WorkManager
Permite-nos especificar quando que uma determinada tarefa deve ser executada no nosso aplicativo. O WorkManager recebe uma tarefa que pode ser executada no momento ou em uma outra altura, por exemplo: carregar dados do aplicativo ao servidor quando o dispositivo estiver online e conectado a carga.
Possibilita-nos também em criar uma sequencia de tarefas. Ao terminar de executar uma tarefa, o WorkManager começa logo a executar a próxima.
O WorkManager faz o “despacho” das suas tarefas seguindo o seguinte critério:
- Para a API 23 (ou superior): Utiliza o JobScheduler
- Para API 14-22: Utiliza o Firebase JobDispatcher, AlarmManager ou BroadcastReceiver.
4. Android KTX
Android KTX (Kotlin Extensions) é um conjunto de extensões Kotlin para o Android Jetpack. Não foge do objectivo das extensões Kotlin que é garantir um desenvolvimento em Kotlin de forma simples, direta e bonita utilizando vários recursos da linguagem Kotlin (lambda, propriedades, parâmetros nomeados, etc).
Kotlin:
Kotlin + Android KTX:
5. Slices
São um conjunto de templates de UI’s que nos permite mostrar conteúdo do nosso aplicativo de forma dinâmica e interativa a partir do Google Search (e brevemente no Google Assistant). Permite ao utilizador executar tarefas rápidas sem precisar que o aplicativo esteja em tela completa (fullscreen). Como o nome sugere, Slices constituem apenas uma porção do nosso aplicativo, portanto, é importante garantir que eles apenas tenham o conteúdo necessário para executar a tarefa desejada e de forma mais simples possível.
Por que android Jetpack?
O Android Jetpack foi criado para padronizar a forma como desenvolvemos aplicações android proporcionando melhor testabilidade e melhor produtividade com a integração com o Kotlin, o que permite-nos criar aplicações de alta qualidade, robustas, com pouco código e de forma rápida.
Embora os componentes do Android Jetpack foram construídos para trabalharem juntos, tu não precisas utilizar todos eles, apenas os componentes necessários para resolverem o seu problema.
É isso!
Como o primeiro artigo da série, esta é apenas uma pequena introdução espero que tenha sido útil.
Esta foi apenas uma breve introdução ao Android Jetpack. Se estiveres mais curioso e quiseres saber mais, podes dar uma olhada na documentacao.
Nos próximos artigos irei explicar alguns componente do Android Jetpack e trarei exemplos práticos.
Se tiver alguma questão ou sugestão deixe aí nos comentários e não hesite em contactar-me pelo email: edilsonngulele@gmail.com ou twitter: @edilson_ngulele
Obrigado e até a próxima!