Google Guava

De Wikipedia, la enciclopedia libre
Google Guava
Información general
Tipo de programa Bibliotecas de utilidades y colecciones
Autor Kevin Bourrillion y Jared Levy (Google Collections Library)[1]
Desarrollador Google
Licencia Apache License 2.0
Estado actual Activo
Información técnica
Programado en Java
Versiones
Última versión estable 31.1 ([github.com/google/guava/releases/tag/v31.1 info]) ( 28 de febrero de 2022 (2 años, 1 mes y 18 días))
Enlaces

Google Guava es un conjunto de bibliotecas comunes de código abierto para Java, desarrollado principalmente por ingenieros de Google.

Vista general[editar]

Google Guava puede ser dividido en tres componentes: utilidades básicas para reducir labores menores para implementar métodos y comportamientos comunes, una extensión a Java collections framework (JCF) anteriormente llamada Google Collections Library, y otras utilidades que proporcionan características convenientes y productivas tales como programación funcional, almacenamiento en caché, objetos de rango y hashing.

La creación y la arquitectura del componente de colección fueron motivadas en parte por los genéricos introducidos en el JDK 1.5.[1]​ A pesar de que los genéricos mejoran la productividad de los programadores, el estándar JCF no proporciona suficiente funcionalidad, y su complemento Apache Commons Collections no ha adoptado los genéricos con el fin de mantener la retrocompatibilidad.[1]​ Este hecho llevó a dos ingenieros, Kevin Bourrillion y Jared Levy, a desarrollar una extensión de JCF, que proporciona clases genéricas adicionales, tales como multisets, multimaps, bimaps y colecciones inmutables.[1]

El diseño y código de la biblioteca fueron revisados por Joshua Bloch, el diseñador jefe original del Java Collections framework, y Doug Lea, uno de los diseñadores principales de las utilidades de concurrencia del JDK.[1]

A fecha de abril de 2012, Guava ocupa el 12º puesto de las bibliotecas Java más populares, tras los proyectos de Apache Commons y algunos otros.[2]​ Una investigación realizada en 2013 en 10.000 proyectos de GitHub descubrió que bibliotecas hechas por Google, como Google Web Toolkit y Guava, consisten en 7 de las 100 bibliotecas más populares de Java, y que Guava es la octava más popular biblioteca de Java.[3]

Controversia[editar]

Si bien Guava es un proyecto de código abierto, no se alienta que terceros externos a Google contribuyan a su desarrollo.[4]​ Kevin Bourrillion escribió en una entrada en Google+ explicando que aunque Guava es de código abierto es también una colección de API a la que se hace referencia en toda la base de código interno de Google. Bourrillion escribió: "No creo que muchos de ustedes entiendan:. El trabajo hecho para producir un parche en realidad es minúsculo en comparación con la cantidad total de trabajo que tenemos que hacer para aplicar ese parche en Guava" Este post y la reacción a esta entrada provocó un debate sobre la naturaleza pública o privada de proyectos como Google Guava y un amplio debate sobre lo que constituye un proyecto de código abierto[5]

Véase también[editar]

Referencias[editar]

  1. a b c d e Wielenga, Geertjan (23 de octubre de 2007). «What is the Google Collections Library?». Javalobby. Archivado desde el original el 19 de noviembre de 2015. Consultado el 3 de febrero de 2013. 
  2. O'Brien, Tim (14 de mayo de 2012). «Google Guava Shows Strong Growth in April». Sonatype. Consultado el 3 de febrero de 2013. 
  3. Weiss, Tal (20 de noviembre de 2013). «We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby». Archivado desde el original el 9 de julio de 2014. Consultado el 4 de febrero de 2014. 
  4. Bourrillion, Kevin (14 de octubre de 2011). «The story with #guava and your patches» (en inglés). Consultado el 2 de noviembre de 2015. 
  5. «Discusión en Hackernews sobre el artículo de Bourrillion» (en inglés). 15 de octubre de 2011. Consultado el 1 de noviembre de 2015. 

Enlaces externos[editar]