[java] Was sind die großen Verbesserungen zwischen Guava und Apache-äquivalenten Bibliotheken?


0 Answers

Ich benutze Guave seit August 2010, beginnend mit der Release r06. Im Grunde hatte ich eine Greenfield-Java-Bibliothek zu entwickeln, also suchte ich nach der besten Zusatzbibliothek für die J2SE-API. Traditionell hatten wir die Apache-Commons-Bibliotheken verwendet, aber ich wollte sehen, was da draußen war und begann, Guava zu verwenden.

Pros

  1. Java 5.0-Sprachkonstrukte. Die Bibliothek nimmt die meisten ihrer Designelemente aus Blochs "Effective Java: 2nd Edition": Unveränderlichkeit, Builder-Muster, Fabriken anstelle von Konstruktoren, Generika usw. Dies macht Ihren Code straffer und ausdrucksstarker.
  2. Funktionale Programmierungsunterstützung, insbesondere mit den Top-Level-Schnittstellen Funktion und Prädikat.

Nachteile

  1. Es ist kein ausreichender Ersatz für Apache Commons, insbesondere Commons-Codec.
  2. Es gibt kein Guaven-Kochbuch. Die Bibliothek ist sowohl minimalistisch als auch orthogonal. Daher gibt es eine definitive Lernkurve, um sie voll auszunutzen. Wie bereits erwähnt, ist das Javadoc ausgezeichnet, aber einige längere Quellcode-Fallstudien wären hilfreich.
  3. Wenn Sie sich in einer Umgebung befinden, die Java 1.3 oder 1.4 erfordert, haben Sie kein Glück.

Für mich fühlt sich Guava Java in der Nähe einer knappen, ausdrucksstarken Skriptsprache, und das ist großartig.

Question

Wir verwenden derzeit Apache-Sammlungen, String-Utils usw. Ich muss entscheiden, ob wir von der Apache-Foundations-Implementierung abweichen sollen.

Das wichtige Kriterium ist die einfache Verwendung der Entwickler. Leistung / Speichernutzung ist für uns noch kein wichtiges Thema. Geschwindigkeit der Entwicklung ist das Schlüsselkriterium an diesem Punkt.

Ich würde mich über Meinungen freuen, wie das Leben des Entwicklers mit Guave wesentlich einfacher wurde.




Related