Kommunikation zwischen Browser und Backend: Objektserialisierung mit Kotlin

Java bietet eine sogenannte Objektserialisierung, bei der ein Objekt als eine Folge von Bytes dargestellt werden kann, die sowohl die Daten des Objekts als auch Informationen über den Typ des Objekts und die im Objekt gespeicherten Datentypen enthält. Nachdem ein serialisiertes Objekt in einen Datenstrom geschrieben wurde, kann es aus diesem Datenstrom wieder gelesen und deserialisiert werden, d.h. die Typinformationen und Bytes, die das Objekt und seine Daten repräsentieren, können verwendet werden, um das Objekt im Speicher neu zu erstellen.

Continue reading
Posted in Other languages for the Java VM | Tagged , , | Leave a comment

Spring Boot mit Kotlin

Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can ‘just run’.

Kotlin wurde so konzipiert, dass es gut mit dem Java-Ökosystem zusammenspielt, und es scheint mir, dass es die gleiche pragmatische und innovative Denkweise teilt wie Spring Boot, sodass sie gut zusammenspielen. In diesem Beitrag werde ich eine Spring Boot-Anwendung von Anfang an mit Kotlin als Hauptsprache erstellen. Man wird lernen, wie Kotlin mit Spring arbeitet. Am Ende wird man eine einfache Spring-Anwendung haben, die mit Kotlin implementiert ist. Mit jeder neuen Version von Spring Boot haben wir eine bessere Kotlin-Unterstützung und können Spring-Anwendungen mit minimalem Boilerplate programmieren.

Continue reading
Posted in Other languages for the Java VM | Tagged , | 1 Comment

Re-deploy your containerized Java application on Azure

In my previous post a while ago I showed you how to deploy your dockerized Java application on Azure. It was a step-by-step introduction switching from browser to IDE, to command line (Docker CLI or Azure CLI), to the Azure web interface. It worked out, but regarding that it was just about the deployment of your code it took quite some time, right? So what about re-deploying your application maybe after making small changes, like fixing a tiny bug? Do you want to do those steps

-> change your code
-> re-build your project
-> build a new docker image
-> tag the image correctly
-> push it to your remote repo
-> stop the running container (?)
-> re-deploy the new container to Azure

over and over again? No, certainly not!

You just want to change the piece of code and then run the following steps as automated as possible. Switching from one tool to another is also not what you want. There are faster ways to achieve this than executing all those steps by hand, depending on your actual environment and personal preferences. So as a Java developer you will most likely build your project with Gradle or Maven. This comes in handy as they offer great plugins to make your life easier. In the following I will stick to Gradle, however similar things are possible using Maven.

My goal was to see how far I could possibly push the whole build and deployment process.

Continue reading
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , , , | 1 Comment

Kotlin Multiplattform-Projekte für die Web-Entwicklung

Kotlin Multiplatform says that it will take care of the business logic and we just need to take care of the UI.

Laut GitHub war Kotlin die am schnellsten wachsende Programmiersprache des Jahres 2018, was die Verwendung in GitHub-Repositorien betrifft. Die Kotlin-Multiplattformfunktion ist seit Version 1.2, die Ende 2017 veröffentlicht wurde, Teil der Kotlin-Programmiersprache. Der Kotlin-Compiler bietet Unterstützung für die Kompilierung von Code in ein natives Zielformat. Folglich können Kotlin-Anwendungen in Umgebungen ausgeführt werden, die virtuelle Maschinen zum Ausführen von Anwendungen nicht unterstützen, z. B. Apple Smartphones mit iOS. Die unterstützten Plattformen für native Anwendungen sind Android NDK, iOS, Linux, MacOS, Windows und WebAssembly. Kotlin bietet auch Unterstützung für die Kompilierung nach Javascript.

Continue reading
Posted in Other languages for the Java VM, Web as a Platform | Tagged , | 1 Comment

Kotlin für Java Web-Entwickler

Ende-zu-Ende Entwicklung ohne Technologiebruch, Übertragung von Objekten zwischen Backend und Browser-Anwendung, Ausgleich der Unterschiede zwischen Browsern, starke Typisierung, Nutzung des gleichen Codes in UI, Backend oder Android Apps? Ist es möglich, dass eine Programmiersprache all dies leisten kann? Ja, das ist es. Und dies sind nur einige Eigenschaften, die Kotlin bietet. Lass uns losgehen.

Continue reading
Posted in Other languages for the Java VM | Tagged , , | 2 Comments

Dependency Injection mit Angular 9

Der Angular 9 Release, eines der grössten Updates in den letzten drei Jahren, ist bereits knapp vier Monate her. Der Schwerpunkt vom Release und somit auch von vielen der Release Notes lag sicherlich auf dem Ivy-Compiler. Dieser ist nun standardmässig in Angular aktiviert. Ivy wurde bereits mit Angular 8 als Opt-In-Möglichkeit eingeführt und in einem früheren Blog-Artikel erläutert.

Auch wenn die Änderungen mit Ivy sehr umfangreich sind, ist dies jedoch nicht das einzige neue Feature, welches mit dem Angular 9 Release eingeführt wurde. Denn es wurden zum Beispiel auch die Möglichkeiten der Dependency Injection erweitert mit zwei neuen Optionen für providedIn. Dies wurde jedoch im Release Note nur kurz erläutert. Aufgrund dessen wird in diesem Blog-Artikel ein Überblick über die bisherigen und die nun erweiterten Möglichkeiten der Dependency Injection in Angular gegeben.

Continue reading
Posted in Web as a Platform | Tagged , | Leave a comment

Von Java EE 8 zu Jakarta EE 8

Oracle verabschiedet sich von der Java Enterprise Edition, da die Eclipse Foundation Java EE aus urheberrechtlichen Gründen ohne das Warenzeichen “Java“ unter einem neuen Namen „Jakarta“ übernimmt.

Wenn Jakarta bekannt klingt, dann deshalb, weil es nicht das erste Mal ist, dass dieser Name für ein auf Java basierendes Projekt verwendet wird. Von 1999 bis 2011 betrieb die Apache Software Foundation das Projekt Apache Jakarta, das alle Open-Source-Java-Bemühungen von Apache abdeckte.

Continue reading
Posted in Java EE | Tagged | Leave a comment