Quarkus: Der Blick über den Tellerrand

Seite 7: Fazit: Quarkus ist einen Versuch wert

Inhaltsverzeichnis

Quarkus bringt – genau wie Micronaut oder auch Helidon – gehörig Bewegung in die Welt der Java-Anwendungsframeworks. Wie im Artikel Spring Boot: Vom Hype zur etablierten Basistechnologie? ausgeführt, hat sich Spring mittlerweile im Enterprise-Umfeld umfassend etabliert. Dem Autor ist im vergangenen Jahr kaum ein Enterprise-Projekt ohne Spring und Spring Boot begegnet – ein wenig mehr Konkurrenz unter den Frameworks ist daher durchaus willkommen.

Oracles Arbeit an der GraalVM, insbesondere neue Möglichkeiten zur nativen Kompilierung, aber auch die polypolyglotte Laufzeitumgebung, halten die JVM und schließlich auch Java "jung". Um alle Möglichkeiten nutzen zu können, bedarf es mehr Bewegung in der Framework-Welt – und die zeichnet sich erfreulicherweise an vielerlei Stellen ab.

Aus persönlicher Erfahrung im Bereich Spring Data tritt der Autor der Behauptung entgegen, dass Reflections per-se schlecht und langsam sind. Durch den Verzicht auf java.util.Optional und die Streams-API im Zusammenhang mit Capturing-Lambdas lassen sich an einigen Stellen größere Performanceverbesserungen erreichen als durch den Verzicht auf Reflections. Unbestreitbar ist hingegen der Performance-Gewinn beim Startup, der sich durch Indizierung von Komponenten zur Build-Zeit gewinnen lässt.

Dass CDI in Quarkus – ebenso wie in Spring – ohne Reflection-Magie funktioniert, ist ausdrücklich zu begrüßen, da nun Komponenten ohne Abhängigkeiten zu @Inject erlaubt sind, genau wie in Spring auf @Autowired verzichtet werden kann. Bausteine von Services sind dadurch wieder einfache POJOs, die hoffentlich verständlich bleiben.

Trotz der ständigen Jagd nach Performance sollten Entwickler nicht die Frage vergessen, wie es in einer Zeit, die durch Überlastung von Mitarbeitern und vielen konkurrierenden "Alles ist wichtig"-Themen geprägt ist, möglich ist, Schritt zu halten mit fachlichen und technischen Anforderungen, neuen Frameworks und altem Code. Egal ob Spring oder Quarkus: Wünschenswert ist und bleibt das Ziel, Fachlichkeit frei von Framework-Code zu halten. Genau das gelingt mit beiden Frameworks.

Auch wenn Quarkus in den FAQ noch als Beta gekennzeichnet ist, sollte es doch 95 Prozent aller Features erprobter und getesteter Abhängigkeiten zur Verfügung stellen, die als "rock solid" zu betrachten seien. Außerdem spricht in einer Microservices-Welt grundsätzlich wenig dagegen, einen beliebigen kleineren Dienst testweise mit Quarkus zu implementieren.

Michael Simons
ist Java Champion, Mitgründer und aktueller Leiter der Euregio JUG und nicht nur durch sein deutschsprachiges Spring-Boot-Buch eng mit dem Spring-Ökosystem verbunden. Derzeit arbeitet er als Software Engineer beim Graphendatenbank-Hersteller Neo4j.