bibliotecas para android capa post

11 bibliotecas essenciais para Android

O uso de bibliotecas é algo muito comum durante o desenvolvimento de um software. Elas aceleram o processo de desenvolvimento, pois evitam que o desenvolvedor tenha que escrever funcionalidades que já foram implementadas por outra pessoa.

Em desenvolvimento Android isso não é diferente. Existem inúmeras bibliotecas para Android criadas para facilitar a vida do desenvolvedor, ajudando-o a fazer requisições externas, trabalhar com imagens, persistência de dados, melhorar performance, entre muitas outras. Neste artigo, vou falar um pouco sobre algumas bibliotecas que considero importantes ou até mesmo essenciais durante o desenvolvimento de uma aplicação Android nativa.

Conveniência

1. Timber

Timber é uma biblioteca utilizada para gerar logs em Android e provendo algumas funcionalidades além do sistema nativo de log. Essa biblioteca ajuda o usuário a gerar logs por já possuir métodos nativos para formatação de strings e um lint para logs já embarcado na biblioteca. 

Outra funcionalidade interessante permite que os logs sejam exibidos apenas caso a Build gerada seja do modo Debug. Um erro muito comum é deixar logs no código com dados sensíveis, como token de autenticação, número de cartão de crédito, etc. Caso o desenvolvedor esqueça de retirar ou comentar o código do log quando gerar a versão de Release, é possível que usuários de seu app consigam visualizar esses logs, tendo acesso a dados sensíveis. Com o Timber, isso não acontece, já que os logs estão contidos apenas na versão de Debug, podendo ser acessados apenas pelo desenvolvedor.

2. Butterknife

Essa biblioteca é usada para a conectar as Views e callbacks para atributos e métodos específicos, de maneira a evitar o boilerplate code, ou seja, aquele pedaço de código que é usado em vários lugares da sua aplicação com poucas alterações. 

Um exemplo disso é conectar objetos de view (como botões, caixa de texto, etc) à sua respectiva View. Normalmente, isso é feito da seguinte forma:

...
Private Button button;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
    button = (Button) findViewById(R.id.button);
    ...
}

Com ButterKnife, isso é feito facilmente por meio de anotações:

...
@BindView(R.id.title) TextView title;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
    ButterKnife.bind(this);
    ...
}

Quando a sua Activity começa a ter vários botões, campos de texto, imagens, entre outros, essa biblioteca começa a facilitar imensamente a sua vida.

3. Calligraphy

Essa é uma biblioteca muito simples, que permite que o desenvolvedor utilize fontes customizáveis em sua aplicação de uma maneira simples e prática.

4. UltimateRecyclerView

RecyclerView é uma versão mais flexível da ListView ou GridView para a criação de listas e tabelas em Android. No entanto, ela ainda pode melhorar. Podemos dizer que a UltimateRecyclerView é uma RecyclerView com esteróides. Ela permite o uso de animações, “puxar para recarregar”, “arrastar para dispensar”, entre muitas outras funcionalidades. Com certeza o prato cheio de utilidades entregue ao desenvolvedor. Recomendo!

Conexão

5. Retrofit + GSON

Essas bibliotecas são totalmente diferentes, mas juntas têm um poder incrível para realizar chamadas HTTP. Retrofit é um cliente HTTP que usa anotações para facilitar a forma de realizar as chamadas HTTP. Já a GSON é uma biblioteca para realizar a conversão de objetos Java em JSON e vice-versa. 

Com as duas bibliotecas juntas, o desenvolvedor pode realizar uma chamada na sua API e já obter os dados com um objeto Java baseado no modelo de sua escolha. Isso é incrível! Afinal, evita que o dev tenha que escrever muitas linhas de códigos para converter os dados recebidos ou enviados, tratamento de erros, entre outros. Com certeza estas são bibliotecas indispensáveis para todos os desenvolvedores Android por aí!

6. Picasso/Glide

Essas são duas bibliotecas diferentes que têm o mesmo propósito: carregamento de imagens. A partir de uma URL, essas bibliotecas já fazem todo o trabalho, de carregar a imagem, colocar na View especificada e até mesmo realizar o caching da imagem. Elas ainda permitem  realizar algumas animações, o que é bem legal! A única diferença que notei entre as duas bibliotecas é que o Glide permite o carregamento de gifs também.

Persistência

7. Realm

O sistema Android possui um banco de dados local nativo, o SQLite. No entanto, ele requer um pouco de trabalho para prover eficiência e segurança. Realm é um banco de dados de terceiro que possui versões tanto para Android quanto iOS e Web. Ele permite a criação de um banco de dados usando modelos Java com vários métodos para realizar queries síncronas ou assíncronas. Com certeza, uma biblioteca bem fácil de usar e que facilita a persistência de dados da sua aplicação.

Library Manager

8. Drone

Quando você está desenvolvendo aplicações Node.JS, você pode utilizar o NPM ou yarn para fazer a injeção de dependências em sua aplicação. Em Android não é diferente. Com a Drone, o usuário pode adicionar dependências a seu projeto de maneira prática e rápida a partir do terminal, usando comandos como:

drone add butterknife app

E pronto. Você acabou de adicionar a Butterknife (a biblioteca que falamos lá no início) no seu projeto. Só não se esqueça de navegar até a pasta do seu projeto =)

Bibliotecas para Android avançadas

No mundo Android, existem bibliotecas que podem levar seu código para um nível superior, deixando-o mais limpo, assíncrono e de alto nível. Vamos falar de algumas que estão ganhando destaque nesse universo.

9. Dagger

Dagger é uma biblioteca de injeção de dependências. Esse é um padrão de design em que um conjunto de objetos podem ser injetados em outro objeto. Isso torna seu projeto mais flexível e reduz muito boilerplate code. Dagger realiza essas injeções de código a partir de geração automática de código usando anotações. 

10. RxJava/RxAndroid

Você já ouviu falar de Programação Reativa? Padrão de Design Observer? Sem entrar muito em detalhes, estas são formas de tornar sua aplicação mais assíncrona e baseada em eventos. A ideia é você “observar” um elemento, seja um objeto ou um atributo, e caso um evento específico aconteça, uma ação é executada.

Ainda não está muito claro como isso ocorre? Não te culpo. Este é um paradigma de programação diferente, e assim pode ser um pouco complicado pegar o jeito. Mas é uma maneira bem divertida de programar e recomendo muito aprender!

Neste link, temos um tutorial de RxJava, explicando a Programação Reativa, o padrão observer e alguns exemplos.

Em Learning RxJava (for Android) by example, explica bem o uso de RxJava. O Palestrante é muito fera, e um dos criadores do podcast Fragmented, um podcast focado em desenvolvimento Android.

11. Retrolambda

O Java 8 chegou com muitas novas funcionalidades, como funções lambda, referência de métodos, entre outras. No entanto, isso ainda não é nativo da plataforma Android =( Mas isso pode ser resolvido utilizando a Retrolambda. Essa é uma biblioteca que permite o uso destas novas funcionalidades, o que coloca seu código em um  nível mais alto. 

O uso correto de bibliotecas pode ser algo muito poderoso durante o desenvolvimento de uma aplicação. Elas ajudam o desenvolvedor a utilizar funcionalidades de uma maneira rápida e prática sem gastar horas desenvolvendo, o que diminui o tempo para a finalizar uma nova aplicação.

Elas também podem permitir o uso de padrões de design específicos, o que pode aprimorar o seu código e torná-lo mais legível e limpo.

E você, tem outras bibliotecas para Android indispensáveis no seu dia a dia? Comente aqui!


bibliotecas para android david
  • Facebook
  • Twitter
  • Google+
  • LinkedIn
David Nascimento

Analista de Sistemas

LinkedIn

 

 

 

 

 

 

 

 

Leia mais:

Performance no front-end: faça a sua aplicação web voar

Certificação IBM Watson V3: saiba por onde começar

O que você precisa saber sobre chatbots e segurança da informação?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Share This