WSL 2: The new Windows Subsystem for Linux

This post gives a general introduction with focus on the new version WSL 2. It provides some basic usage principles and outlines some advantages and disadvantages. In future posts to come, I will evaluate using WSL 2 as a software developer and especially to run Docker on Windows.

Windows Subsystem for Linux (WSL) adds Linux functionality, including command-line tools, utilities, and applications to Windows. It is the successor to the Microsoft Windows Services for UNIX. Technically it allows running unmodified L64 binaries on a Windows machine. You can also choose between the well-known user distributions directly from the Microsoft Store and then directly run bash and use tools like ssh and git.

The goal is to provide a seamless integration and interoperability of a Linux environment on a Windows machine especially for software development. This is needed due to the fact that many applications in web development run natively on Linux.

For more read here
Posted in Java Runtimes - VM, Appserver & Cloud | Tagged , | 1 Comment

Web UIs mit Kotlin

Was ich am aufregendsten an Kotlin finde, ist dessen Konzeption, ein einheitliches Toolkit (Sprache + Bibliotheken + Tooling) anzubieten, sich aber auch auf die native Umgebung zu verlassen, wo immer eine Kotlin-Anwendung läuft. Die Verwendung von Kotlin auf der JVM bedeutet eine vollständige Interoperabilität mit Java, im Browser können wir auf JavaScript-Bibliotheken zugreifen, und auch wenn es um die UI-Entwicklung geht, gilt Kotlin dasselbe Prinzip.

Continue reading
Posted in Uncategorized | Tagged , , | Leave a comment

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