Abstract:
Java hat seit jeher den Ruf einer ressourcenfressenden, nichtperformanten und langsamen Programmiersprache. Egal ob es um Startup-Zeiten, Speicherbedarf oder die generelle Größe von Docker Images geht, Java wird immer etwas belächelt, auch wenn in den letzten Jahren einiges in dieser Hinsicht verbessert wurde. Vieles ist der JVM und dem Grundkonzept der Portabilität geschuldet, das in Zeiten von Containern mehr und mehr an Wichtigkeit verliert. Trotz dieser Umstände werden weiterhin viele Microservices in Java implementiert. Nicht zuletzt dank der weiten Verbreitung der Sprache und Frameworks wie Spring Boot, die einem beim Erstellen von Microservices unter die Arme greifen.
Um diesen Vorurteilen entgegenzuwirken, haben sich in letzter Zeit Projekte aufgemacht, der Java-Landschaft einen nativen Anstrich zu verpassen. Die beiden interessantesten Kandidaten sind GraalVM und Kotlin Native. Auch wenn sie aus verschiedenen Gründen ins Leben gerufen wurden, haben beide die Möglichkeit, Java bzw Kotlin in nativen Code zu kompilieren, sodass eine JVM nicht mehr von Nöten ist.
Dieser Vortrag stellt die beiden Projekte und deren grundsätzliche Ideen sowie den aktuellen Status vor. Anhand von praktischen Beispielen wird gezeigt, ob diese schon für den produktiven Einsatz, z.B. für typische Microservice-Implementierungen, geeignet sind. Oder bleibt es beim nativen Traum?
Bio: Sascha Selzer arbeitet als Senior Consultant bei der innoQ Deutschland GmbH. Er hat langjährige Erfahrung in der Entwicklung mit JVM basierten Sprachen. Sein aktueller Fokus liegt auf der Konzeption und Umsetzung von Backend Architekturen, sowie von Continuous Delivery/Deployment Strategien.