Sharing is caring

Die Top 100 Java-Bibliotheken 2016 – Nach der Analyse von 47.251 Abhängigkeiten

Henn Idan

@shutterstock/Lucky Business

Wer ist oben auf und wer fällt zurück? Die Software-Schmiede Takipi hat 47.251 Abhängigkeiten auf GitHub analysiert und daraus die Top 100 Top der Java-Bibliotheken ermittelt. Wer gewinnt?

Unser liebster Zeitvertreib an langen Wochenenden ist es, GitHub zu durchforsten und nach gefragten Java-Bibliotheken zu suchen. Wir haben uns dazu entschieden, den Spaß und die Informationen mit euch zu teilen.

Wir haben 47,251 ‚import‘-Statements von 12,059 einzelnen Java-Bibliotheken, die von den Top 3,862 Java-Projekten auf GitHub verwendet werden, analysiert. Aus dieser Liste haben wir die Top 100 genommen und teilen nun die Ergebnisse. Trommelwirbel!

Die 20 beliebtesten Java-Bibliotheken

Top20

Source: http://blog.takipi.com/the-top-100-java-libraries-in-2016-after-analyzing-47251-dependencies/

Bereits im letzten Jahr gekrönt, ist jUnit weiterhin die beliebteste Java-Bibliothek auf GitHub.
Während das Java Logging API slf4j den zweiten Platz belegte, erreichte log4j den vierten Platz.

Eine steigende Tendenz zeigt Googles Open-Source-Projekt Guava, welches den dritten Platz erreichte. Es enthält eine Reihe an Java-Kernbibliotheken, die bei Google intern entwickelt wurden. Wenn Sie mit Guava nicht vertraut sind oder sich nicht sicher sind, wie es zu benutzen ist, dann empfehlen wir den Beitrag über einige der weniger bekannten Funktionen von Google Guava, die jeder Entwickler kennen sollte.

Der Aufstieg von Spring-Bibliotheken

Das Spring-Framework wurde in der Java Community als Hauptkonkurrent von Java EE bekannt, und ebendiese Bekanntheit spiegelt sich auch auf GitHub wider: 15 der 100 beliebtesten Bibliotheken arbeiten mit Spring. Der interessanteste Part ist dabei der rasante Aufstieg von Spring Boot, der es Entwicklern erlaubt Spring-getriebene Anwendungen und Services mit minimalem Boilerplate-Code zu erstellen. Wollen Sie in kürzester Zeit eine betriebsfähige Java-Applikation aus dem Boden stampfen? Dann sehen Sie sich unseren Post über Java Bootstrap: Dropwizard vs. Spring Boot an.

Top Spring-Bibliotheken

#13 – springframework.spring-context
#17 – springframework.spring-test
#22 – springframework.spring-webmvc
#24 – springframework.spring-core
#27 – springframework.spring-web
#36 – springframework.spring-jdbc
#37 – springframework.spring-orm
#38 – springframework.spring-tx
#40 – springframework.spring-aop
#47 – springframework.spring-context-support
#72 – springframework.boot.spring-boot-starter-web
#81 – springframework.security.spring-security-web
#82 – springframework.security.spring-security-config
#88 – springframework.boot.spring-boot-starter-test
#99 – springframework.security.spring-security-core

Die beliebtesten JSON-Bibliotheken

Da Java keine native Unterstützung für JSON bietet (obwohl es in Java 9 fast dazu gekommen wäre!), wollten wir sehen, wie verbreitet derartige Bibliotheken in GitHub-Projekten sind. Sie sollten eine Bibliothek nicht nach ihrem Aussehen beurteilen. Nicht alle JSON-Bibliotheken performen gleich, und die richtige für Ihr Projekt zu finden, kann ausschlaggebend sein. Wenn Sie wissen möchten, welche Sie nutzen sollten, empfehlen wir unseren aktuellen JSON Benchmark.

Die Top ‚JSON‘-Bibliotheken sind…

#14 – fasterxml.jackson.core.jackson-databind
#19 – google.code.gson.gson
#43 – json.json
#80 – googlecode.json-simple.json-simple
#89 – thoughtworks.xstream.xstream

Die fantastischen 4 (absolut erwähnenswert)

Es gab viele interessante und sogar neue Bibliotheken, die unsere Aufmerksamkeit auf sich gezogen haben. Diese vier stachen unserer Meinung nach aber besonders hervor:

  • #68 – projectlombok.lombok: Dieses Projekt strebt die Reduzierung von Boilerplate-Code in Java an, indem einige der schlimmsten Missetäter mit einer Reihe einfacher Annotationen ersetzt werden.
  • #90 – jsoup.jsoup: Eine Java-Bibliothek zur Arbeit mit echtem HTML. Geboten wird ein API zum Extrahieren und Manipulieren von Daten mittels DOM-Operationen, CSS und jQuery-ähnlichen Methoden.
  • #92 – io.netty.netty-all: Ein Netzwerkapplikationsframework zur einfachen und schnellen Entwicklung von wartbaren und hoch-performanten Protokollservern und -clients.
  • #98 – dom4j.dom4j: Ein Open-Source-Framework zur Arbeit mit XML. Es ist in xPath integriert und bietet vollen DOM-, JAXP- und Java-Plattform-Support.

Die Top 100 Bibliotheken, typensortiert

topType

Source: http://blog.takipi.com/the-top-100-java-libraries-in-2016-after-analyzing-47251-dependencies/

Die Mathematik hinter der Magie (oder: Wie es zu unserer Liste kam)

Sie fragen sich vermutlich, wie wir an diese Informationen gekommen sind. Zuerst haben wir die, an den Bewertungen gemessen, Top-Java-Projekte von GitHub heruntergeladen. Aus diesen Daten sortierten wir Projekte aus, die für das Abhängigkeitsmanagement mit Maven oder Ivy arbeiten, um so einen schnellen Zugriff auf ihre pom.xml / ivy.xml Abhängigkeiten zu bekommen. Danach blieben uns 47,251 Datenpunkte.

Nach wilder Analyse und Zahlenhexerei blieben uns 12,059 einzelne Java-Bibliotheken, die von den Top 3,862 Java-Projekten auf GitHub verwendet werden. Von da ab war es einfach, die 100-Top-Bibliotheken, abhängig von der Anzahl an Nutzungen innerhalb der GitHub-Projekte, zu bekommen.

Wenn Sie sich unsere Rohdaten ansehen möchten, finden Sie die zugehörige Datei hier. Obwohl wir dieses Mal nüchtern waren, laden wir Sie herzlich ein, etwas herumzustöbern und sicherzustellen, dass wir nichts Interessantes übersehen haben.

Abschließende Gedanken

Wenn wir unsere aktuelle Top-100-Liste mit den Ergebnissen des letzten Jahres vergleichen, können wir unter den kleineren Bibliotheken Veränderungen bemerken, wobei das Interesse an Spring und MongoDB gewaltig angestiegen ist. Betrachtet man jedoch die Mehrheit der Java-Entwickler, fällt auf, dass sie in der Wahl ihrer GitHub-Bibliotheken ziemlich konsistent sind. Bedenkt man die Menge an existierenden Projekte, die mit den genannten Bibliotheken arbeiten, ist es keine große Überraschung, dass sie bis 2017 und darüber hinaus verwendet werden.

Wenn Sie bereits Ihren festen Satz an Bibliotheken haben, aber noch nach dem ultimativen Werkzeug suchen, haben wir den perfekten Vorschlag. Schauen Sie in unsere Top 15 Tools, die Java-Entwickler nach großen Releases verwenden.

Dieser Beitrag wurde im Orginal auf Takipis Blog – Java und Scala-Exception-Analyse und Performanz-Monitoring – veröffentlicht.

Aufmacherbild: Young man in library take book from shelf von Shutterstock / Urheberrecht: Lucky Business

Verwandte Themen:

Geschrieben von
Henn Idan
Henn Idan
Ich schreibe über Java, Scala und alles dazwischen. Ich liebe Gadgets, Apps, Technologie und Tee.
Kommentare

Hinterlasse einen Kommentar

2 Kommentare auf "Die Top 100 Java-Bibliotheken 2016 – Nach der Analyse von 47.251 Abhängigkeiten"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Daniel
Gast

Das Thema Java ist komplett neu für mich und ich versuche dieses nun als Autodidakt zu lernen, was sehr schwierig ist. Das mit den Bibliotheken versteh ich so, das ich einen Zugriff auf bereits geschriebene Programme habe oder ?
Wie genau kann ich darauf zugreifen, das erschließt sich für mich nicht…?

TestP
Gast

Hallo,

Bibliotheken sind keine fertigen Programme sondern fertig programmierte Programmteile, die man benutzen kann ohne sie selbst programmieren zu müssen. Alleine schon das JDK ist eine richtig große Bibliothekensammlung. Man kann zum Beispiel die Klasse String einfach benutzen als wäre sie Bestandteil der Sprache. Sie ist aber kein Sprachmerkmal sondern ein Bestandteil einer Bibliothek.

Und wie man drauf zugreift? Man nimmt die Bibliothek in den Classpath auf, trägt den package-Namen ganz oben mit import ein und schon kann man so eine Bibliothek benutzen.

Hier ist beschrieben wie man das in Eclipse macht:
https://javabeginners.de/Grundlagen/Bibliothek_einbinden.php

MfG