5 bibliotecas Java de Código Abierto que no conocías

534

Java cuenta de forma nativa con capacidades y funcionalidades muy poderosas que podemos explotar sin el uso de bibliotecas adicionales de terceros. Además, cuenta con una de las comunidades más grandes en el mundo de la programación, que contribuyen al ecosistema mediante el código abierto.

Por supuesto, hay bibliotecas tan populares, como Log4J por ejemplo, que su uso en proyectos es tan común que nos acostumbramos a usarlas por defecto. Sin embargo, existen otras que, aunque no sean tan populares, son tan fáciles de usar y tan poderosas que definitivamente deberíamos incluir y aprovechar en nuestros proyectos.

A continuación revisamos algunas de las librerías de código abierto que en lo personal, han sido de gran utilidad para la construcción de grandes proyectos en los que he trabajado y que, me he dado cuenta, no son tan conocías entre los desarrolladores Java:

StringTemplate

Esta biblioteca de código abierto, provee de un motor para generar plantillas dinámicamente. Se usa particularmente en sitios web, en la parte de internacionalización.

Cabe mencionar que dentro del proyecto se está trabajando en la portabilidad para C#, Objective-C, Scala y Javascript. StringTemplate es oficialmente usado en el proyecto de ANTLR.

Puedes revisar la página oficial del proyecto en: http://www.stringtemplate.org/ o bien contribuir el código fuente en su repositorio oficial: https://github.com/antlr/stringtemplate4

Ejemplo del uso de Stringtemplate.

Owner

Es una biblioteca simple, poderosa y flexible creada recientemente (en 2015) que permite manejar la configuración de archivos Properties, de forma fácil y eficiente. Además, soporta desde la versión 5 de Java.

Esta biblioteca te permitirá consumir y guardar valores en tus archivos properties a partir de la interacción con un objeto singleton en tu aplicación, de forma eficiente y con mucha flexibilidad de configuración.

Puedes encontrar una muy fuerte documentación en su página oficial: http://owner.aeonbits.org/ y contribuir al código fuente en su repositorio oficial: https://github.com/lviggiano/owner.

Ejemplo del uso de Owner.

Project Lombok

El proyecto Lombok, es una librería que automáticamente genera el código repetitivo en los POJOs como setters y getters, constructores o métodos equals y hashcode, para no escribirlo manualmente o delegarlo al editor esta tarea, mediante anotaciones de Java. De forma que el mantenimiento y la lectura de nuestros POJOs se hace mucho más rápido y fácil.

Además, otorga acceso a funcionalidades adicionales como atributos de tipos dinámicos con la anotación val o el manejo de impresiones a log de forma automática, solo por nombrar algunas de ellas. Sin mencionar las funcionalidades que están por ser agregadas al proyecto estable (funcionalidades experimentales).

Puedes ingresar a la página oficial del proyecto: https://projectlombok.org/ o contribuir al proyecto: https://github.com/rzwitserloot/lombok

Ejemplo del uso de Lombok.

Joda Time

Esta biblioteca provee de una alternativa a las clases de fecha y tiempo de Java en sus versiones 7 o menores, ya que a partir de Java 8 el manejo de las fechas y tiempo enestán basadas en JSR-310 (java.time). El diseño de Joda está basado en el calendario por default de ISO8601 y expone clases para manejar la zona horaria, la duración el formato y el parseo de las mismas.

Para proyectos con versiones previas a Java 8 es muy conveniente usar esta librería. Si quieres encontrar más información y documentación de esta librería ve a su página oficial en: http://www.joda.org/joda-time/index.html o para contribuir con el código fuente, ve a su repositorio oficial: https://github.com/JodaOrg/joda-time.

Ejemplo del uso de Joda Time

Hikari

Esta joven y ligera librería creada a penas en 2012, provee de un pull de conexiones para base de datos de muy alto rendimiento, de hecho es considerado el más veloz del mercado. Además, permite al desarrollador configurar propiedades que otros pull de conexiones no y cuenta con soporte para Java 6, 7 y 8.

Por si fuera poco, cuenta con una descripción muy detallada y una wiki muy completa en su repositorio de Github, en caso de que quieras colaborar: https://github.com/brettwooldridge/HikariCP y su página oficial: https://brettwooldridge.github.io/HikariCP/.

Su popularidad ha ido creciendo desde su lanzamiento, debido al gran rendimiento que otorga a comparación de otras bibliotecas similares como C3P0, definitivamente una biblioteca que no debes dejar de usar en tus proyectos.

Comparativa de Hikari con otros pull de conexiones.

Recuerda que también puedes escuchar este artículo en nuestro podcast de Soundcloud:

Gracias por leer este artículo en Codesolt, compártelo con un amigo al que le pueda servir. 😛

Comments

comments