Montag, 8. April 2013

Die "wichtigsten" Java Frameworks, Libraries und Tools

Meist nachgefragte Java Skills
@joinvision.com
Welche Java Frameworks, Libraries und Tools soll man in einem Projekt einsetzen, welche muss man als Java Entwickler beherrschen? Welche sind ausgereift, welche sind state-of-the-art, welche sind zukunftssicher? Auf welche kann ich meine Software bauen, ohne befürchten zu müssen, dass ich mir damit Probleme wie Bugs, unausgereifte Features, ungenügender Support, fehlende Literatur, kaum vorhandenes Know-How oder Vendor-Lock-In einkaufe.

Die Frage, "welche sind die richtigen Frameworks, Libraries und Tools für ein Projekt", ist so einfach nicht zu beantworten. Ich widme ihr daher diesen und die nächsten beiden Blog Artikel:

  • Die "wichtigsten" Java Frameworks, Libraries und Tools - beschäftigt sich mit der Frage, welche der vielen 1.000en Frameworks, Libraries und Tools überhaupt in die engere Wahl gezogen werden sollten.
  • Die "besten" Java Frameworks, Libraries und Tools - beschäftigt sich mit der Frage, welche der "wichtigsten" besser sind als andere auf demselben Gebiet - z.B. welche OR-Mapper "besser" sind als andere.
  • Die "richtigen" Java Frameworks, Libraries und Tools - beschäftigt sich mit der Frage, was alles man sonst noch beurteilen muss, um das für den jeweiligen Einsatz richtige Werkzeug auszuwählen. Das für eine Aufgabenstellung beste Tool ist nicht immer das geeignetste.
Welche sind also zunächst mal die "wichtigsten" Java Frameworks, Libraries und Tools? Diese Frage lässt sich nicht eindeutig beantworten. Lt. ohloh gibt es ca. 70.000 Open-Source Java Projekte, geschätzte 30.000 davon sind Frameworks und Libraries. Diese alle auf ihre "Wichtigkeit" zu überprüfen ist unmöglich.

Bei der Beantwortung dieser Frage helfen aber Aufstellungen wie beispielsweise die am meisten nachgefragten Java Skills bei Job-Plattformen wie joinvision (siehe Abbildung oben). Oder die Liste der wichtigsten Java Bibliotheken, die in der (relativ restriktiven) Wikipedia Aufnahme gefunden haben.
Dabei werden aber viele wichtige Java Frameworks, Libraries und Tools durch den Rost fallen, da sie zwar für ihren Aufgabenbereich enorm wichtig sind, aber im Vergleich zu den anderen Aufgabenbereichen unwichtig wirken. Beispielsweise fehlen dann sämtliche (nicht OR-)Mapping-Frameworks, ein kleiner aber wichtiger und zentraler Bestandteil von fachlich komplexen, mehrschichtigen Applikationen.

Zur Beantwortung der Frage nach den "wichtigsten" Java Frameworks, Libraries und Tools stütze ich mich daher zusätzlich auf das Kleine-Welt-Phänomen: Ich gehe davon aus, dass wenn ich alle Frameworks, Libraries und Tools sammle, die mir in meiner Java Karriere jemals untergekommen sind - sei es in Projekten oder in Magazinen oder auf Webseiten oder aus Erzählungen - ich beinahe alle wichtigen (und viele unwichtige) Frameworks, Libraries und Tools zusammengetragen habe. Tatsache ist, dass ich dies bereits seit knapp mehr als 5 Jahren mache:
alle "wichtigen" Java
Frameworks, Libraries & Tools

CC-BY-NC-SA Sebastian Dietrich

Ich habe daraus eine riesige Mindmap zusammengestellt, welche alle mir bekannten und ernstzunehmenden Frameworks, Libraries und Tools (aber auch Java-nahe Techniken und Technologien) enthält. Inklusive meiner persönlichen, begründbaren Empfehlungen (thumbs up) und Warnungen (), sowie jede Menge Links auf die jeweiligen Wikipediaseiten ( mit Infos sowie weiterführenden Links und Literatur). - Einfach auf das Bild rechts klicken und von dort als PDF ("Java Technologien A0.pdf") runterladen und in mindestens DIN A0 ausdrucken oder als ausführbares PDF ("Java Technologien Player.pdf") runterladen und mit Doppelklick anschauen und reinzoomen. Ist freigegeben unter der cc by-nc-sa Lizenz, kann also beinahe beliebig verändert und weitergegeben werden.

Die Mindmap enthält alle "wichtigsten" Java Frameworks, Libaries und Tools, sowie Java nahe Techniken und Technologien. Bitte um Info, wenn was fehlen sollte. Bitte auch um Fragen, wenn meine Empfehlungen und Warnungen nicht offensichtlich sind - ich erkläre diese dann natürlich gerne näher.

Im nächsten Blogartikel werde ich dann diese Unmenge an "wichtigsten" Java Frameworks, Libraries und Tools auf die "besten" reduzieren. Niemand benötigt 5 verschiedene OR-Mapper, niemand kann alle Web-Frameworks beherrschen, eine Konzentration auf die "besten" 1-2 pro Aufgabenbereich ist daher angebracht.

web analytics