„Do more, more easily“

Jooby: Ein Mikro-Webframework für Java 8

Michael Thomas

© Shutterstock.com/BranislavP

Bei jooby handelt es sich um ein – relativ – neues, von express.js inspiriertes Mikro-Webframework, das gemäß der von seinem Schöpfer Edgar Espina ausgegebenen Parole „do more, more easily“ die Stärken von Java betonen und seine Schwächen ausbügeln möchte.

Jede Sprache hat ihre Nachteile, so auch Java: Einerseits sicher, gut getestet und abwärtskompatibel, ist die Sprache bisweilen etwas „aufgebläht“ – etwa durch Bibliotheken, die mit der Zeit immer umfangreicher werden und zahlreiche Dinge enthalten, die für die Entwicklung nur selten oder gar nicht benötigt werden.

Die erste Generation leichtgewichtiger Java-Frameworks hatte mitunter zum Ziel, diesen unnötigen Balast zu reduzieren, sprich die Vorteile der JVM zu erhalten und gleichzeitig die Entwicklungszeit zu verkürzen. Mikro-Framworks wie Spark, Jodd oder Ninja spinnen diesen Gedanken weiter: Sie stellen ihrem Selbstverständnis nach fokussierte und agile Lösungen dar, die den Produktionsprozess auf das Wesentliche eindampfen wollen. Zu dieser Riege zählt sich auch das noch recht junge Mikro-Webframework jooby für Java 8, das auf mehrere ausgereifte Technologien aufsetzt.

Jooby Basics

Jooby folgt dem Grundgedanken: „do more, more easily“ – so sind beispielsweise Reflexion, Annotationen und Dependency Injection auf ein Minimum reduziert und in einigen Bereichen komplett optional; durch den Einsatz von JVM Bootstrap im Standard-Deployment-Modell soll Entwicklern zudem ein Ausweg aus der „Klassenpfad-Hölle“ gewiesen werden.

Als mehrsprachige Framework ermöglicht jooby das Schreiben von Anwendungen in Java und JavaScript; als Programmiermodelle können sowohl Scripting à la express.js, Sinatra etc. als auch MVC (Spring, Jersey) zum Zuge kommen. Der Multi-Server-Support umfasst neben Netty auch die Java-Webserver Jetty und Undertow. Web Sockets werden ebenso unterstützt wie auch die Dependency Injection via Google Guice (ein quelloffenes Dependency-Injection-Framework für Java 6 und höher). Mit mvn jooby:run steht zudem ein Maven-Plug-in zur Verfügung, das Hot Reloads ermöglicht. Abgerundet wird der Leistungsumfang durch ein umfangreiches Modul-Ökosystem.

Jooby erfordert mindestens Java 8 und Maven 3.

Aufmacherbild: Freeze light – infinity von Shutterstock / Urheberrecht: BranislavP

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: