Google Guava es un conjunto de bibliotecas comunes de código abierto para Java, desarrollado principalmente por ingenieros de Google.
Vista general 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. 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. 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.
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.
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. 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.
Controversia Si bien Guava es un proyecto de código abierto, no se alienta que terceros externos a Google contribuyan a su desarrollo. 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
Véase también Apache Commons, otro conjunto de bibliotecas comunes para Java. Google Guice, un framework Java para inyección de dependencias, desarrollado por Google.
Referencias
Enlaces externos Google Guava
Categoría:Bibliotecas de Java Categoría:Software de Google Categoría:Software libre Categoría:Software que utiliza la licencia Apache