Leichtere asynchrone Programmierung auf der JVM: Ratpack 1.0 veröffentlicht

Michael Thomas

© Shutterstock.com/Helga Esteb

Lange hat es gedauert, doch jetzt ist es soweit: Das JVM-Toolkit Ratpack, das auf die Erleichterung der asynchronen Programmierung auf der JVM abzielt, gilt mit Version 1.0 als stabil und ist für den Produktiveinsatz freigegeben.

Die Features und Änderungen von Ratpack 1.0 sind dabei dieselben, die mit Veröffentlichung des ersten Release Candidate Ende August dieses Jahres das Licht der Welt erblickten. Vor allem im Vergleich zu Version 0.9.19 fallen diese teils beträchtlich aus: So kommt statt Runtime Class Patching nun Gradles Continuous-Build-Feature zum Einsatz, was die IDE-Integration für Ratpack-Apps deutlich vereinfachen soll. Zudem kann der Request-Body nunmehr nur ein mal pro Anfrage gelesen werden; des Weiteren kann sein Byte-Puffer falls gewünscht freigegeben werden, um den Speicher freizugeben.

Die Bibliothek ratpack-jackson-guice wurde entfernt. Ihre Funktionalität wird künftig von ratpack-core geleistet, d. h. Renderer und Parser für die Arbeit mit beispielsweise Jackson stehen nun automatisch bereit. Last but not least wurde die Parser-API vereinfacht: Im Falle von Parse-Operationen ohne Optionen gibt das Objekt statt eines NullParseOpts-Markers nun keine Optionen zurück. Des Weiteren kann ein Parser nun potentiell mehrere Inhaltstypen parsen, anstatt nur auf einen beschränkt zu sein.

Die Entwicklung ist mit Version 1.0.0 zwar noch lange nicht abgeschlossen, jedoch sollen zukünftige Upgrades des 1.x-Versionsstrangs keine Breaking Changes mehr aufweisen. In welcher Regelmäßigkeit die nächsten Updates erfolgen sollen, lassen die Entwickler offen; gesprochen wird von eine Turnus, der notwendigen Bugfixes und internen Verbesserungen folgt. Eines steht allerdings fest: Zunächst soll die Verbesserung der Dokumentation im Mittelpunkt stehen.

Was ist Ratpack?

Das Mikro-Framework Ratpack hat die möglichst unkomplizierte Entwicklung leichtgewichtiger, hochperformanter und asynchroner Webanwendungen zum Ziel. Der Kern von Ratpack 1.0 ist in Java geschrieben und erfordert Java 8. Das Build-System nutzt Gradle 2.6. Ratpack baut auf der Basis des nicht-blockierenden, asynchronen und ereignisgesteuerten Client-Server-Frameworks Netty auf und bietet eine Reihe von Low-Level-Konstrukten für die Arbeit mit asynchronen APIs.

Besonderes Augenmerk wurde bei der Entwicklung von Ratpack auf dessen Nutzbarkeit bei der Erstellung von Microservices gelegt. Unterstützt wird beispielsweise der sprachagnostische Transport via JSON. Des Weiteren bietet Ratpack Support für die Code-Bibliothek Hystrix aus dem Hause Netflix, die der Optimierung von verteilten Anwendungen auf Basis der Amazon Web Services dient. Für das Reporting wird auf die Integration von Dropwizard Metrics zurückgegriffen; für die Authentifizierung auf die von Pac4j. Das Konfigurationsmodell unterstützt u. a. YAML, JSON, Java-Properties und Umgebungsvariablen. HTML-Templating wird von Groovy und Handlebars beigesteuert. Zudem nutzt Ratpack einige fortschrittliche Features des Groovy-Compilers.

Aufmacherbild: Rat Pack Suits von Shutterstock / Urheberrecht: Helga Esteb

Verwandte Themen:

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: