Entwicklertag 2020: https://entwicklertag.de/frankfurt/2020/spring-boot-%E2%80%93-good-parts-kotlin-level-beginner
Spring ist ein Framework, dass seit 15 Jahren kontinuierlich neue Features bekommt und mit Spring Boot ganz vorne am Zahn der Zeit ist. Die lange Entwicklungszeit führt allerdings auch dazu, dass es für ein Problem weit mehr als eine Lösung im Framework gibt. Viele dieser Features sind den Tradeoff allerdings nicht wert, da sie zwar schnell eingebaut sind aber den Code dann verkomplizieren und die Einstiegshürde für neue Entwickler erhöhen. Dabei kann Spring Boot bereits jetzt explizit, offensichtlich und simpel sein, Beispiele dafür sind nur rar gesät.
In dieser Präsentation schauen wir uns Kotlin Code an der die modernen Features BeanDsl, Functional Web und Spring Fu nutzt. Mit diesen Features können wir erreichen, dass Code wieder innerhalb von Klassen geschrieben wird statt außerhalb in einer eigenwilligen Annotationsprache. Das senkt die Einstiegshürde wiederrum, weil jetzt wieder die Syntax und Kontrollfluss unserer Programmiersprache gilt.
Projekte beginnen oft nicht auf einer grünen Wiese, deswegen betrachten wir auch wie man ein bestehendes Spring Boot Projekt inkrementell auf explizites Verhalten umstellen kann. Am Ende haben wir eine Anwendung deren Kontrollfluss wir in einer Stunde erklären können und nicht mehr raten müssen was zuerst passiert.