Novidades do
Jetpack
Nelson Glauber


@nglauber
Jetpack é um conjunto de
bibliotecas para ajudar os
desenvolvedores a seguir as
melhores práticas, reduzir o
boilerplate e escrever código
que funciona consistentemente
nas diversas versões e
dispositivos Android para que
os desenvolvedores possam
focar no código da aplicação.
Quem usa as bibliotecas?
79%
2021
47%
2020
Versionamento
Versionamento
Alpha


- Em ativo desenvolvimento


- APIs podem ser
adicionadas, modi
fi
cadas
ou removidas


- Testadas e funcionais
Beta
- Estabilização da feature


- Sem mudanças nas APIs


- APIs só mudam em
resposta a problemas
críticos ou por feedback
da comunidade
Experimental
Annotations
Stable
androidx.annotation:annotation-experimental
CameraX
Stable
androidx.camera:camera
CameraX
• Novidades


- Exposure compensation


- Acesso a informações detalhadas do estado da camera e dos
recursos


- Interoperabilidade com as con
fi
gurações da Camera2
CameraX
• Supo
rt
e a recursos novos do Android


- HDR (High Dynamic Range) Preview (para Pixel 4a e 5)


- Controle da taxa de Zoom


- Supo
rt
e para o modo "Não pe
rt
urbe”
CameraX
• Melhorias de pe
rf
ormance


- Captura de foto 15% mais rápida


- Inicialização 25% mais rápida em dispositivos antigos
App Search
Alpha
androidx.appsearch:appsearch
AppSearch
• Comparação por similaridade (Fuzzy matching)


• Tratamento sinônimos e correção o
rt
ográ
fi
ca


• Expansão de queries (Query expansion)


• Supo
rt
e a múltiplos idiomas
AppSearch
• Inclui esquemas (schemas) para tipos de objetos comuns
baseados no schema.org.


• Armazenamento centralizado no Android 12+ para integração
com a busca geral do aparelho.
Data Store
Beta
androidx.datastore:datastore
DataStore
• Substituto das SharedPreferences


• Supo
rt
e a Coroutines/Flow


• Supo
rt
e a RxJava 2 e 3


• Armazenamento usando:


- chave/valor (Preference DataStore)


- dados tipados (Proto DataStore)


- customizado (via Kotlin Serialization)
Security Crypto
Stable
androidx.security:security-crypto
Hilt
Stable
androidx.hilt:hilt
WorkManager
Stable
androidx.work:work
WorkManager
• Na versão 2.5+, supo
rt
e para aplicações que utilizam múltiplos
processos


• A versão 2.7 trata restrições incluídas no Android 12


• WorkManager Inspector está disponível no Android Studio Arctic
Fox
WorkManager inspector
WorkManager inspector
Saiba mais…
https://www.youtube.com/watch?v=IqnCqHyu1E4
Room
Stable
androidx.room:room
Room
• Supo
rt
e experimental ao KSP (Kotlin Symbol Processing)


• Com KSP houve uma melhoria de 200% no tempo de execução
em relação ao KAPT


• Supo
rt
e nativo para enums


• Supo
rt
e para RxJava 3


• QueryCallback para simpli
fi
car tarefas como logging após a
execução
ConstraintLayout
Stable
androidx.constraintlayout:constraintlayout
MotionLayout
Saiba mais…
https://www.youtube.com/watch?v=WRNWzhrl6-s
Fragment
Stable
androidx.fragment:fragment
Fragment
• Melhorias internas para melhorar a estabilidade e reduzir
compo
rt
amentos não documentados


• Integração com ActivityResult
Navigation
Alpha
androidx.navigation:navigation
Google Sho
rt
cuts
Alpha
androidx.core:core-google-shortcuts
EmojiCompat
Alpha
androidx.emoji2:emoji2-views*
Paging
Stable
androidx.paging:paging
Paging
• Supo
rt
e nativo para coroutines e Flow


• Carregamento assíncrono usando RxJava e Guava


• Melhorias para as camadas de repositório e apresentação
Macrobenchmark
Alpha
androidx.benchmark.macro:macro
Macrobenchmark
• Permite visualizar os resultados no Android Studio


• Checagem de regressão na CI antes de entregar para os usuários
Saiba mais…
https://www.youtube.com/watch?v=0adLO2VRJtc
Integrações com o


Compose!!!
Integrações com o Compose
• Hilt


• Paging


• Navigation


• Activity


• ViewModel


• ConstraintLayout
Saiba mais…
https://www.youtube.com/watch?v=0z_dwBGQQWQ
Form factors
Conclusão
• As bibliotecas do Jetpack provêm soluções uni
fi
cadas para
diversos problemas do dia-a-dia do desenvolvimento Android.


• É impo
rt
ante conhecer as novidades pois elas podem corrigir
problemas impo
rt
antes e relevantes para seus usuários.


• Você não precisa (e provavelmente nem é possível) usar todas,
mas é interessante conhecer as opções disponíveis para utilizá-
las quando necessário.


• Mais informações em developers.android.com/jetpack
Referência
https://www.youtube.com/watch?v=xeQ9faYJktM
@nglauber
nglauber
www.nglauber.com.br
youtube.com/nglauber

2014 2019
Obrigado!
Nelson Glaube
r

@nglauber

Novidades das Bibliotecas Jetpack do Android (2021)