Das Spring Framework und Spring Boot sind seit langer Zeit beliebte Basis für Enterprise Applications. Das deutlich jüngere Framework Quarkus hat ein mittlerweile beeindruckendes und stets wachsendes Ökosystem und ist seit ebenfalls vielen Jahren stabil und „Enterprise ready“.
Quarkus basiert auf einem reaktiven Kern und bietet zur Anwendungsentwicklung weitestgehend Standards aus Jakarta EE und MicroProfile an. Quarkus-Anwendungen werden bereits zur Build-Zeit optimiert und glänzen mit schnellem Start, hohem Durchsatz und kleinem Footprint. Durch Dev Mode, Dev Services und Continuous Testing geht die Entwicklung von Quarkus-Anwendungen leicht von der Hand.
Wenn man das für Spring-Boot-Anwendungen auch haben möchte, muss man den Anwendungscode vom proprietären Spring API auf Jakarta EE und MicroProfile umschreiben – nicht! Es gibt nämlich neun Extensions für Quarkus, die Spring APIs anbieten. So kann man bspw. REST-Klassen, die mit Spring Web geschrieben wurden, unverändert in Quarkus betreiben, wenn man die Extension quarkus-spring-web hinzunimmt. Die „Repository-Magie“ von Spring Data JPA steht mittels quarkus-spring-data-jpa zur Verfügung.
Ob einem die Entwicklung von Anwendungen mit Quarkus besser gefällt als Spring Boot, liegt immer im Auge des Betrachters. Die Performanz-Daten sprechen aber eine eindeutige Sprache: Time-to-First-Response und Memory Footprint lassen sich halbieren, während der Durchsatz auf mehr als das Doppelte steigt. Den Benchmark, der dies zeigt, habe ich in meinem letzten Blog Post beschrieben.
Es ist allerdings ein „Adapter API“, d. h. die Spring Calls werden auf äquivalente Quarkus-Funktionen abgebildet. Es wird kein normaler Spring Application Context aufgebaut – sonst wären die beschriebenen Verbesserungen auch nicht erreichbar.
Wer mehr über Quarkus erfahren und lernen möchte, mag gerne einmal in unserem Seminarangebot und unserem Blog stöbern.







