Veranstaltungen

Spring Boot (Michael Simons)

Do, 25. Januar 2018

Kalender als XML und iCal

Wir unterstützen...

Elterninitiative Kinderkrebsklinik e.V

Kinderkrebsklinik e.V

Sponsoren

Wir danken unseren Sponsoren:

Permanente Sponsoren

Uni Düsseldorf
(Raum und Beamer)


(Preise)


(Preise)


(Preise)


(Preise)

Mitgliedschaften



java.net Member

Events

Nachlese JavaFX | Print |
Written by Peter Stoffels   
Friday, 12 July 2013 12:31
Nachdem vier Wochen vergangen sind hat die Rheinjug auch schon wieder ein neues Thema für die wissenshungrigen Informatiker unter uns gefunden. Diese Mal wurde uns das GUI Framework JavaFX vorgestellt. Wie der Titel vom Plakat schon verriet war Swing gestern und die beiden Präsentatoren Michael Thiele und Alexander Cascall haben dies eindrucksvoll mit Live-Demonstrationen vor ca. 100 Besuchern bewiesen. Übrigens sind die Folien und Demo-Code bei gitHub zu finden.

Also was ist JavaFX? JavaFX soll wie gesagt Swing ablösen und ist ein GUI-Framework, das mehr und mehr Einzug erhält, gerade in der Webwelt. Dies soll ferner auch für mobile Geräte mit Betriebssystemen wie iOs oder Android interessant werden, da mit JavaFX 2.0 auch Gestensteuerung möglich ist.

Womöglich jeder Java-Entwickler hat schon mal mit Swing gearbeitet und an einigen Stellen festgestellt, wie aufwendig es ist, einfache Dinge darzustellen. Dies wurde zum Beispiel anhand des Ladens eines Bildes demonstriert. Direkt im Vergleich dazu wurde ein Codeauszug von JavaFx gezeigt, der sich nur auf einige wenige Zeilen Code beschränkte. Schnell wurde klar, das Thema wird interessant. Generell hat sich viel bei JavaFX getan: Es unterstützt wie eben schon bereits Gesten (Multitouch), rendert sehr gut und schnell Animationen (durch GPU-Hardwarebeschleunigung), enthält sehr ahnsehnliche Chart-Diagramme und unterstützt u.a. auch das Abspielen von HD-Videos durch die Media Engine. Generell bietet das Framework viele ansehnliche Effekte und Tools und kann durch CSS oder FXML beschrieben werden.

Das ist gerade mit das interessante an JavaFX, dass die grafischen Oberflächen losgelöst sind von der Logik und durch XML oder CSS beschrieben werden können. Das bedeutet auch, dass grafische Oberflächen von Designern entwickelt können und Backendlogik von Software-Entwicklern. Generell verwendet JavaFX auch ein Architektur Pattern, das MVVM Pattern, welches dem Model-View-Controller Pattern ähnelt. Es definiert ein View welches via Databinding an das ViewModel gebunden ist und dieses ist wiederum an ein oder mehrere Models gebunden. Ein simples Beispiel hierfür ist ein Model Vorname und ein Model Nachname. Das ViewModel würde dann z.B. eine Komposition dartstellen: Gesamtname, welches aus den beiden Models besteht. Die Komposition oder das ViewModel dient dann als Datencontainer für ein Label z.B. welches sich im View befindet. Der Clou bei der ganzen Sache ist, dass das ganze Framework überwiegend auf Properties und Bindings aufbaut. Ändert sich also der Name im Label, ändern sich auch die Models auf der untersten Ebene und umgekehrt (Bi-Direktional).

Damit die eben genannten Beispiele auch bildlich hängen bleiben, haben die beiden live am Beamer programmiert. Dafür diente „Farmville“ als Demonstrationsvorlage. In diesem Spiel geht es darum, Gemüse vom Feld zu ernten. Problem dabei ist, dass das Gemüse einen Lebenszyklus durchläuft. Schritt für Schritt haben uns die beiden dann präsentiert, wie man solch ein Spiel in JavaFX programmieren kann.

JavaFX ist mittlerweile fester Bestandteil von JavaSDK7 und wird auch von vielen IDE’s unterstützt. Den besten Support bietet wohl Netbeans in dieser Hinsicht.

Alles in Allem war dies wieder ein klasse Vortrag. Dieses Mal von Michael Thiele und Alexander Cascall, die wirklich Freude und Spaß beim Entwickeln mit grafischen Oberflächen mit dem JavaFX Framework vermittelt haben. Bei dem einen oder anderen Zuschauer hat es mit Sicherheit die Neugierde geweckt, selbst einmal ein paar Gehversuche mit JavaFX zu starten.