2021-08-24 Good Bye, Maven

„Good Bye, Maven“ heißt das neue Achievement, das wir uns gegönnt haben. Und das kurz nach „Good Bye, Spring Tool Suite and Java“.
Denn diesen Sprint haben wir weiter umgestellt, gerefactored, Technologien über den Haufen geworfen. Im letzten Sprint ging es Spring Tool Suite an den Kragen. Stattdessen setzen wir jetzt sowohl fürs Frontend (Android), als auch für das Backend (Spring Boot) auf Intellj mit Kotlin.
Schluss mit der Umstellung auf die gerade notwendige IDE. Schluss mit der Umstellung auf die gerade erforderliche Syntax. Und teilweise Schluss mit der Umstellung auf die gerade benötigten Tools und APIs. Denn bspw. können wir nun auch für das Backend auf Mockk setzen, das wir seit ein paar Monaten für unsere Frontend-Entwicklung schätzen gelernt haben.

Last but not least kam für das Backend immer noch „Maven“ und im Android Studio „Gradle“ zum Builden unserer Anwendungen zum Einsatz. Da wir schon länger von Gradle überzeugt sind, es leserlicher und leichter handhabbar finden, wird nun auch das Backend gegradled.
Die Umstellung an sich war gar nicht so einfach. Denn einerseits wollten wir das Projekt komplett neu aufbauen, um nicht dem Risiko ausgesetzt zu sein, dass unser Projekt zwar Gradle unterstützt aber noch alten Fetzen / Leichen / Reste von Maven enthält, aber auf der anderen Seite wollten wir auch nicht unsere Git-Historie verlieren. Hm, was nun? Aber da hatte Verena eine super Idee und ein frisches Gradle Projekt erstellt, das Coding aus unserem Maven Projekt übernommen und anschließend die Inhalte aus dem neuen Gradle Folder in das alte, aber mittlerweile geleerte Maven Folder kopiert, an dem … genau … aber noch die Git-Historie hängt. Works!!!
Die letzte Hürde war die Java JDK Version. Aber das ist eine andere Geschichte.
Mittlerweile haben wir die komplette Anwendung (Backend inkl. Frontend) auf unseren beiden Systemen wieder zum Laufen bekommen.

Was lief noch? Da wir für das Backend immer noch eine datenbanknähere Lösung „suchen“, haben wir fleißig gelesen und gestöbert, wie andere ihre ORMs implementieren und wie ihre Frameworks funktionieren. Eine endgültige Lösung haben wir noch nicht, denn die funktionieren teilweise relativ unterschiedlich und haben unterschiedliche Vor- und Nachteile, wie bspw. eine Lösung alla Entity Framework vs. JDBC. Aus den Augen dürfen wir dabei auch nicht den Entwicklungsaufwand für uns lassen. Denn wenn wir uns nun von Spring Boot JPA abwenden, wollen wir die Probleme, die wir damit hatten lösen, aber auch nicht alles nachprogrammieren. Aber da machen wir kommende Woche weiter.

Jetzt sind wir auf jeden Fall mega happy über unsere in Intellj gegradlete Kotlin Anwendungen, die von Mockk getestet werden.