Las 6 mejores librerías Android que todo desarrollador debe conocer

Ya está, el momento ha llegado, acaba de entrar un nuevo proyecto en donde debes desarrollar nuestra primera aplicación para Android. Aquí es donde surgen las primeras preguntas:

  • ¿Por dónde empiezo?

  • ¿Qué herramientos debo utilizar?

  • ¿Es mejor este framework que este otro?

  • ¿Qué voy a comer hoy? ¿Qué podrán en la televisión más tarde?...

Pero una vocecita sabia dentro de tu cabeza comienza a exclamar “¡librerías, librerías, quiero librerías!”

 

Dadme una buena librería de apoyo y moveré el mundo

Las librerías son como un buen postre luego de cada comida. Intentas no abusar de ellas pero qué ricas que están. Con ellas no sólo enriquecemos nuestro proyecto, también añadimos nuevas funcionalidades que de otro modo tardaríamos meses en desarrollar si tuviéramos que hacerlas desde cero.

Tanto Android como Java cuentan con librerías similares.  En el contexto de Java podemos definirlas como una colección de paquetes, clases e interfaces preescritos con sus respectivos métodos, campos o instrucciones. Una API (Application Programming Interface)  sirve como una interfaz de programa de software que da a los programadores los medios para ahorrar una gran cantidad de tiempo y código en su desarrollo.

Claro está, el beneficio de que las API de Android y Java sean similares es que hace posible desarrollar  usando marcos de trabajo y bibliotecas que funcionan en ambas plataformas.

Aquí te presento algunas de las mejores bibliotecas de Android más conocidas en las comunidades de Android que no puedes dejar de conocer.

 

Jitpack.io

Esta librería te hará la vida más fácil. Desarrollado por el equipo de Streametry Ltd. Jitpack puede gestionar cualquier proyecto de GitHub sin problemas y publicarlo en un repositorio público de Maven. Con ella ahorramos tiempo y molestias al crear dependencias. Genial ¿verdad?

Puedes saber más sobre Jitpack en este enlace: http://jitpack.io/

 

LeakCanary

“Hay algo en este programa que no funciona bien pero no puedo detectarlo”. Si esta idea pasó por tu cabeza alguna vez, muy probablemente necesites usar LeakCanary.

Antiguamente los mineros solían usar canarios en las minas para poder advertir la presencia de peligrosos gases. En programación disponemos de herramientas que nos permiten detectar la línea donde el programa necesita nuestra atención. LeakCanary proporciona la posibilidad de detectar objetos mal diseñados que sólo ocupan memoria con solo añadir un par de líneas a nuestro código.  

LeakCanary se distribuye bajo una licencia Apache 2.0 y puedes encontrar más información en el siguiente enlace:  https://github.com/square/leakcanary.

 

Dagger

Posiblemente la librería más popular para Android y Java. Ligero y funcional. Dagger es todo azúcar en funcionalidad sin aditivos adicionales. Consta de dos partes. Por un lado la biblioteca (que apenas pesa 100 kb) y su compilador.

La biblioteca permite que su código pueda ser compartido y usado entre diferentes frameworks de desarrollo al poder usar anotaciones javax.inject estándar en nuestro código. Simple, ligero, hace su trabajo. Vale la pena considerar para cuando quieres usar la inyección de dependencia simple con nada más.

Dagger se distribuye bajo licencia Apache License 2.0 y puedes encontrar más información en el siguiente enlace: http://square.github.io/dagger/

 

ZXing

Los códigos de barras siguen muy presentes y tienen multitud de usos en nuestros días. Es común desarrollar aplicaciones que necesitan leer estos códigos, por ejemplo desde nuestro smartphone. ZXing puede ser usado tanto en Android como en Java y permite implementar con comodidad esta funcionalidad con muy poco código por nuestra parte.

Puedes consultar más información sobre ZXing en el siguiente enlace: https://github.com/zxing/zxing

 

Libphonenumber

Si estás pensando en desarrollar un método que tenga que validar todos los números telefónicos es posible que hoy no llegues a tiempo a la hora de la cena. Por suerte, el equipo de Google desarrolló hace algún tiempo una librería llamada Libphonenumber que resuelve la dura tarea de detectar correctamente qué tipo de número de teléfono estamos registrando, lo “parsea”, valida y da formato.

Posiblemente sea la API más sencilla de usar de las presentadas y es genial. Es tan simple que podemos encontrar ports para otros lenguajes JVM como C# o PHP.

Puedes consultar más información en este enlace: https://github.com/googlei18n/libphonenumber

 

TAPE

Recuerdo que una de las cosas que peor llevaba en la facultad era el manejo de flujo de datos y su descarga en soportes inestables. Con TAPE podemos liberarnos de desarrollar métodos que permitan la grabación y recuperación de colas de datos. En su lugar TAPE nos ayuda a automatizar el proceso y si algo falla vuelve a intentar ejecutar nuevamente el comando u operación.

Otra de sus ventajas es que permite almacenar en caché los resultados intermedios que podemos recuperar cuando los necesitemos.  ¿Y todo sin utilizar un boli bic? Es broma ;)

También bajo licencia Apache 2.0 podemos descargar esta librería en https://github.com/square/tape

 

Conclusión

Existe una pequeña confusión cuando hablamos de desarrollos basados en Android o Java. Algunos desarrolladores tienden todavía a pensar que cuando se desarrolla en Java es necesario hacer un nuevo desarrollo para Android cuando en realidad, al utilizar herramientas y librerías compatibles podemos desarrollar aplicaciones que funcionen en múltiples entornos con muy poco esfuerzo.

Estas librerías son solo un ejemplo de muchas otras que podemos usar para llevar a buen término nuestros proyectos. Si algo funciona y funciona bien ¿por qué no seguir usándolo?

Guía de Posibilidades Profesionales en el Ecosistema de Java