Java

FXGL Tutorial: Animierte Spielfiguren via Sprite Sheet implementieren

Willkommen zum vierten Teil unseres FXGL-11-Tutorials! Wir haben unser Basisspiel inwzischen mit Grafik- und Soundeffekten ausgestattet und Kollisionen mit Hilfe von JavaFX hinzugefügt. Heute werden wir uns auf das Hinzufügen von Sprite-Animationen konzentrieren. Wie immer gilt, dass dieses Tutorial auf FXGL 11.0+ und Java 11+ ausgelegt ist.

Java Magazin 6.19 erschienen: Was kommt nach Java EE?

Freunde italienischer Kochkunst haben die Evolution der Softwarearchitektur einmal so beschrieben: In den 1990ern orientierte man sich beim Entwurf von Software an einem Teller Spaghetti. Doch bald änderten sich die Anforderungen und man empfand die Pasta als zu unübersichtlich, weshalb man sich der Lasagne-orientierten Architektur zuwandte – alles schön in Schichten aufbauen.

Records & Sealed Types: Neue Typen für Java

Die Programmiersprache Java steht oft ob ihrer angeblichen Schwerfälligkeit in der Kritik. Ein wenig Abhilfe diesbezüglich sollen der neue Java-Typ Record und sogenannte Sealed Types schaffen. Ein entsprechender Vorschlag zur Erweiterung der Sprache wurde gerade von höchster Stelle vorgelegt…

Backend meets Frontend Reloaded: Vaadin Add-ons für das App Layout

Im vorherigen Teil der Serie haben wir uns mit dem App-Layout von Vaadin beschäftigt. Für einfache Anwendungen ist das eine sehr gute Wahl. Diesmal wird es aber um Anforderungen gehen, die etwas umfangreicher sind als die Positionierung einer Menüleiste. Hierfür gibt es ein paar komfortablere Add-ons aus dem Vaadin Directory. Wir werden uns explizit das Add-on von Johannes Goebel ansehen.

Einführung in Jenkins: Wie man einen Jenkins-Cluster aufbaut

Sobald der Deployment-Prozess mit Jenkins mehrere Stufen annimmt und zusätzlich noch automatisierte Tests in größeren Projekten dazukommen, muss man sich mit dem Thema Skalierung auseinandersetzen. Erschwerend kann hinzukommen, dass mehrere Teams mit Jenkins arbeiten und die fertigen Applikationen für mehrere Kunden in unterschiedlichen produktiven Umgebung bereitstellen sollen. Eine Möglichkeit, Jenkins zu skalieren, ist der Aufbau eines Jenkins-Clusters.

Innovatives Machine Learning mit dem Apache-Kafka-Ökosystem

Machine Learning (ML) ermöglicht es Anwendungen, versteckte Erkenntnisse zu gewinnen, ohne explizit dafür programmiert worden zu sein, worauf sie bei der Erkenntnisfindung achten müssen. So können unstrukturierte Daten analysiert, Bild- und Spracherkennung verbessert und fundierte Entscheidungen getroffen werden. In diesem Artikel werden wir vor allem neue Trends und Innovationen rund um Apache Kafka und Machine Learning diskutieren.

Funktionale Java-Entwicklung: Unveränderliche Klassen mit der Bibliothek Immutables

In der funktionalen Programmierung sind unveränderliche Daten ein unverzichtbares Werkzeug. Und auch Java hat in der Vergangenheit das eine oder andere funktionale Konzept adaptiert. Eine native Unterstützung für Unveränderlichkeit fehlt jedoch nach wie vor. Mit Hilfe geeigneter Drittbibliotheken lässt sich aber einiges erreichen. In diesem Artikel wollen wir daher die Generierung von unveränderlichen Klassen mit Hilfe der Bibliothek Immutables vorstellen.

FXGL Tutorial: Kollisionen hinzufügen mit JavaFX

Willkommen zum dritten Teil unseres FXGL-11-Tutorials! Nachdem wir unser Spiel mit Grafiken und Soundeffekten ausgestattet haben, werden wir uns in diesem Teil dem Hinzufügen von Kollisionen widmen. Hier können Sie den zweiten Teil des Tutorials nachholen, falls Sie das noch nicht gemacht haben sollten. Wie zuvor gilt, dass dieses Tutorial auf FXGL 11.0+ und Java 11+ ausgelegt ist.

Java 12 Tutorial: So funktionieren die neuen Switch Expressions

Java verharrte bislang beim switch-case-Konstrukt sehr bei den uralten Wurzeln aus der Anfangszeit der Programmiersprache und den Kompromissen im Sprachdesign, die C++-Entwicklern den Umstieg erleichtern sollten. Relikte wie das break und bei dessen Fehlen das Fall-Through waren wenig intuitiv und luden zu Fehlern ein. Zudem war man beim case recht eingeschränkt bei der Notation der Werte. Das alles ändert sich glücklicherweise mit Java 12. Dazu wurde die Syntax leicht modifiziert und erlaubt nun die Angabe einer Expression sowie mehrerer Werte beim case. Auf diese Weise lassen sich Fallunterscheidungen deutlich eleganter formulieren.