Estou envolvido no desenvolvimento do aplicativo Android, que é um cliente móvel bastante "grosso" para um serviço da Web. Ele se comunica fortemente com o servidor, mas também possui muita lógica interna. Então, decidi usar alguns recursos da Google Guava
biblioteca para simplificar o processo de desenvolvimento. Aqui está uma lista de recursos nos quais estou muito interessado: coleções imutáveis, utilitários básicos, extensões de coleções, açúcar e expressões idiomáticas de programação funcional ( common.collect
e common.base
), utilitários primitivos ( common.primitives
), utilitários de hash ( common.hash
), utilitários simultâneos (futuros e AsyncFunction
). Coisas que não quero usar no Android: common.cache
(veja a pergunta abaixo), common.eventbus
(temos melhores bibliotecas específicas do Android para isso, como Otto ), common.io
(podemos usar okio para Android agora).
Li que o uso do Guava para Android pode desacelerar significativamente o processo de compilação e também diminuir o desempenho de todo o tempo de execução: Desempenho ruim com o Guava Cache no Android (neste caso, é razoável e não há necessidade de usar o cache do Guava para Android) e Adicionando o Google Projeto Goiaba para Android - diminui significativamente a compilação
Portanto, é eficiente usar a biblioteca Guava no projeto Android ou essa biblioteca foi projetada para ser usada apenas para o desenvolvimento no servidor, e devo usar soluções padrão? Quaisquer explicações serão muito apreciadas.