Muchas veces, cuando estamos desarrollando, nos encontramos con situaciones en las que el esfuerzo para solucionar un problema o desarrollar una funcionalidad aparentemente nueva puede ser redundante y carente de sentido, puesto que muy probablemente ya exista una librería que nos ayude con una solución a nuestro problema.

Existe una gran cantidad de librerías para Android, algunas de ellas muy populares y que son utilizadas casi en cualquier aplicación. En este artículo veremos una selección de nuestras favoritas y con las que solemos trabajar a diario:

 

1 – Retrofit

retrofit-android

 

 

 

Retrofit es seguramente la librería más popular en Android para realizar peticiones a una API REST.

Nos permite convertir una API REST en una sencilla interfaz de Java mediante anotaciones simplificando mucho la definición de nuestros endpoints.

https://square.github.io/retrofit/

 

2 – GSON

Gson es una librería desarrollada por Google, que se utiliza para convertir objetos Java en JSON y viceversa. Además GSON tiene una muy buena integración con Retrofit.

https://github.com/google/gson

 

3 – Glide

glide-android

Glide es una increíble librería que nos abstrae de mucho trabajo cuando tenemos que tratar con la gestión de imágenes. Tiene varias opciones para implementar diferentes tipos de caché, nos permite aplicar transformaciones, redimensionar, tiene soporte para imágenes GIF, etc.

https://github.com/bumptech/glide

Hay algunas alternativas a Glide, como pueden ser Picasso , Fresco , Ion o Universal Image Loader pero para nosotros Glide es la mejor opción en este momento y además está recomendada por Google.

 

4 – LeakCanary

leakcanary-android

Seguramente alguna vez te has encontrado con el error: java.lang.OutOfMemoryError.
Son de los errores más comunes y más tediosos de detectar pero por suerte y gracias a los chicos de Square tenemos LeakCanary, una librería que nos ayuda en la detección de fugas de memoria a medida que ocurren.

https://github.com/square/leakcanary

 

5 – DBFlow

dbflow-android

DBFlow es sin duda uno de los mejores ORM (mapeo objeto-relacional) simple, muy rápido y potente que mediante anotaciones nos facilita la persistencia de nuestros objetos y también nos evita la necesidad de escribir sentencias SQL para nuestras queries.

https://github.com/Raizlabs/DBFlow

Hay algunas alternativas similares a DBFlow como pueden ser SugarORM, OrmLite o GreenDAO .

También vale la pena que le eches una ojeada a Realm.
No lo hemos incluido en esta lista porque no es propiamente una librería sino más bien un motor de persistencia como SQLite pero mucho más rápido y que últimamente también es tendencia dentro de la comunidad Android.

 

6 – ButterKnife

butterknife-android

Gran librería de Jake Wharton que sirve para reducir el boilerplate en nuestro código.
Nos evita tener que llamar al repetitivo “findViewById” para cada vista de nuestros layouts. Butterknife también puede utilizar anotaciones para gestionar diferentes eventos.

http://jakewharton.github.io/butterknife/

También utilizamos con Butterknife el increíble plugin ButterKnifeZelezny
que genera de manera automática todas las referencias sin que tengamos que escribir una a una, de esta manera, ahorramos un tiempo considerable.

 

7 – Logger

logger-android

Logger es una librería que nos ayuda a tener un registro de logs más ameno y práctico que el que tenemos por defecto en Android Studio.
Nos proporciona información sobre el thread, la clase, el método, también imprime los JSON de una manera más limpia, etc.

https://github.com/orhanobut/logger

 

8 – RxJava

Ultimamente muy de moda dentro de la comunidad Android.
Esta librería permite desarrollar componentes reactivos (hacer uso de la programación reactiva) y abstraernos de tareas que a menudo pueden llegar a ser un poco tediosas como la gestión de threads, sincronización y estructuras de datos concurrentes.
Con RxJava ya no hay excusas para no mantener el Main Thread libre.

https://github.com/ReactiveX/RxJava

 

9 – Retrolambda

Nos proporciona soporte para utilizar expresiones lambdas en Java 7, 6 y 5.
Las expresiones lambdas fueron una de las novedades que introdujo en su momento Java 8 y nos permite elaborar un código más conciso y significativo.
Son muy útiles para sustituir clases anónimas y también especialmente útiles cuando trabajamos con RxJava.

https://github.com/evant/gradle-retrolambda

 

10 – Dagger2

Dagger2 es en la actualidad la librería más eficiente para realizar inyección de dependencias y probablemente la más conocida y utilizada en Android.
La inyección de dependencia es un patrón que nos ayuda a cumplir uno de los principios SOLID , el de inversión de dependencias.
La versión inicial Dagger fue creada por Square y en la actualidad Dagger2 es mantenida por Google.

https://github.com/google/dagger

 

Existe una infinidad de librerías para Android, si quieres descubrir nuevas puedes pasarte por Android Arsenal:

https://android-arsenal.com/

Arthur AntunesArthur Antunes

Leave a Reply

Your email address will not be published. Required fields are marked *