© Excellent backgrounds/Shutterstock.com
Reaktive Modelle am Beispiel von Benutzerschnittstellen im Fahrzeug

JavaFX auf Rädern


Das gute alte Autoradio ist längst zu einer multimedialen, vernetzten Kommandozentrale geworden, die während der Fahrt sicher beherrscht sein will. Geprägt von Smartphones und Tablets, erwarten Autofahrer ein ansprechendes und intuitives Bedienerlebnis im Fahrzeug. Wir stellen ein JavaFX-Framework der Volkswagen Konzernforschung vor, mit dem komplexe Bedienabläufe in modernen Benutzeroberflächen gemeistert werden können. Als Alternative zur Zustandsmodellierung führen wir reaktive Modelle ein, die sich hervorragend mit den Bindings und dem pulsgetriebenen Quantum-Toolkit von JavaFX implementieren lassen. Mit der Verfügbarkeit und Leistungsfähigkeit von JavaFX auf eingebetteten Systemen wird ein möglicher Serieneinsatz untersucht.

Für verschiedene Forschungsprojekte hat die Volkswagen Konzernforschung das flexible Framework „Tappas“ zur Entwicklung von Benutzerschnittstellen entwickelt. Sein Einsatzgebiet sind Infotainmentsysteme in der Mittelkonsole und Armaturentafeln von Forschungsfahrzeugen. Das Spektrum reicht von kleinen Touchscreens, die von Tasten umgeben sind, über größere reine Touchscreens bis hin zu Systemen, die mehrere Displays mit einer indirekten Bedienung kombinieren.

In diesen so genannten Hauptanwendungen lassen sich nach Belieben Tappas-Apps installieren und ausführen. Neben Standard-Apps für Radio, Medien, Telefon, Kontakte, Navigation, Karte, Klimatisierung, Webbrowser etc. können projektspezifische Apps ergänzt werden.

Die Hauptanwendung entscheidet jeweils über Platzierung und Größe der Apps. Im einfachsten Fall wird eine App im Vollbild dargestellt. Je nach Bedienkonzept der Hauptanwendung können Apps auch parallel nebeneinander in unterschiedlichsten Aufteilungen gezeigt und in Übergängen animiert werden (Abb. 1).

gerlach_1.tif_fmt1.jpgAbb. 1: Screenshot einer Tappas-Hauptanwendung

Technologisch basiert das Framework auf OSGi und JavaFX. Hauptanwendungen, Apps und die von ihnen genutzten Dienste können als OSGi-Bundles dynamisch zur Laufzeit installiert, gestartet und gestoppt werden. Apps registrieren sich mit einem speziellen Interface. Dadurch kann eine Hauptanwendung die verfügbaren Apps einsammeln und mit Namen und Icon dem Nutzer in einem Menü anbieten. Zum Öffnen einer App fordert die Hauptanwendung dann eine JavaFX-Komponente mit der Oberfläche der App an.

Um ein konsistentes Look-and-Feel aller Apps in einer Hauptanwendung zu erzielen, sollen einige Bedienelemente überall verfügbar sein oder stets an gleicher Stelle und in der Designsprache ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang