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 33.5.0 ([github.com/google/guava/releases/tag/v33.5.0 info]) (17 de septiembre de 2025 (8 meses y 29 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

📚 Artikel Terkait di Wikipedia

Openframe

intrusivo, sin imponer interfaces o clases extrañas, sólo arrays y collections estándar java) Lenguaje de querys independiente de la BD (HQL) Posibilidad de

Cola doblemente terminada

ofrecen las operaciones de colas doblemente terminadas. El Collections Framework de Java incluye una nueva interfaz Deque que proporciona la funcionalidad

Objeto inmutable

objetos. En Python, Java y el framework Microsoft .NET, las cadenas de caracteres son objetos inmutables. Tanto Java como el framework Microsoft.NET disponen

C Sharp

C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. El nombre C Sharp fue

Correctitud de constantes

modificarlos. El framework de colecciones de Java proporciona mecanismos para crear un adapador sobre una Collection mediante Collections.unmodifiableCollection()

Easyrec

Studio Smart Agent Technologies y se aloja en SourceForge. Está escrito en Java, usa una base de datos MySQL y viene con una herramienta de administración

Consorcio Internacional para la Preservación de Internet

SourceForge.​ La herramienta Web Curator se basa en tecnologías Java como Apache Tomcat, Spring Framework e Hibernate, y tecnologías de Internet Archives como el

Enyo.js

Enyo o Enyo.js es una biblioteca o framework JavaScript de Código abierto orientada a objetos, encapsulación y modulación.​ Diseñada para crear aplicaciones