Developer

Aktuelle Themen

How to deploy a (native) Quarkus Application on Heroku

Quarkus is a „container first“ framework for microservice development in Java (or alternatively Kotlin or Scala). With help of GraalVM Native Image, Quarkus applications can be compiled to native executables that run directly on the target OS, without JVM, with low memory footprint and blazing fast startup time.

Heroku is a Cloud Application Platform for building and hosting applications, while various languages can be used for development. It also allows to deploy and run self-built docker images.

Following the instructions from this blog post, we’ll create a native Quarkus application and deploy it in a docker container to the Heroku Runtime.

Mehr

Vergleich Spring Boot vs Micronaut vs Quarkus

In diesem Blog Beitrag geht es um den Vergleich der beiden Frameworks Micronaut und Quarkus mit Spring Boot.

Micronaut

Micronaut ist „ein modernes, JVM-basiertes Full-Stack-Framework für den Aufbau modularer, leicht testbarer Microservice- und Serverless-Anwendungen.“ [1]

Dabei unterstützt Micronaut Sprachen wie

  • Java
  • Kotlin
  • Groovy

Vorteile

Micronaut zielt auf folgende Aspekte von Anwendungen für die JVM ab und versucht, sie zu optimieren:

  • schneller Applikationsstart
  • reduzierter Laufzeit-Speicherbedarf
  • minimaler Einsatz von Java Reflection
  • minimaler Einsatz von Java Proxies
  • einfache, schnelle Applikationstests

Mehr

It’s #FrontendFriday – Klassen / Modul-Diagramme in Frontend-Projekten

Hallo #FrontendFriday-Leser/in,

heute geht es um Tools, die Klassendiagramme aus Frontend-Projekten (speziell TypeScript, Angular) generieren.

Zu Beginn eines Projekt wird eine Architektur der Anwendung erstellt (die sich im Laufe des Projekts weiterentwickelt). Während des Projekts stellt sich die Frage, ob die geplante Soll-Architektur mit der tatsächlich umgesetzten Architektur übereinstimmt. Hierzu können unter anderem Klassendiagramme helfen, die automatisch aus dem entwickelten Code generiert werden.

Mehr

Softwarearchitektur Qualitätssicherung

Einführung

Die Softwarearchitektur ist eine wichtige Voraussetzung für die Verständlichkeit und Veränderlichkeit von Code, sowie für die Einhaltung von Software Qualitätszielen. Drei Ziele der Softwarearchitektur sind Wartbarkeit, Austauschbarkeit und Erweiterbarkeit. Durch die Einführung von Mustern und Konventionen können die Ziele erreicht werden. Diese werden vom gesamten Entwicklungsteam definiert.

Doch wie kann jetzt sichergestellt werden, dass die Muster und Konventionen eingehalten werden?

Oft werden dafür in regelmäßigen Abständen aufwändige Code Reviews durchgeführt. Im Zeitraum zwischen den Reviews können sich jedoch viele technische Schulden ansammeln. Die Behebung dieser Verstöße kann dann viel Zeit in Anspruch nehmen.

Tools wie ArchUnit und jQAssistant helfen solche Konventionsverstöße schon bei der Entwicklung zu vermeiden. Im nachfolgenden werden diese Tools miteinander verglichen und eine Empfehlung ausgesprochen.

Mehr