Login
Newsletter
Werbung

Sa, 18. Juli 2009, 00:00

Das Disko-Framework

Toolkit für Set-Top-Boxen und Touch-Screen-Terminals

Quellcode

Um die einzelnen Schritte besser nachvollziehen zu können, können die drei Beispielapplikationen von diskohq.org heruntergeladen werden.

GUI-Potenziale

Die GUI-Engine ist das Herzstück des Disko-Frameworks, und der leistungsstärkste Teil ist dabei die Dialog-Engine. Es liest die Parameter eines Windows und seines Inhalts aus einer XML-Datei aus und macht das Ergebnis flexibel gestaltbar, was Theme- und Skinauswahl betrifft. Und all das, ohne eine einzige Zeile Code ändern zu müssen. So wird sogar der Endnutzer in die Lage versetzt, das Layout nach seinen Wünschen und Bedürfnissen anzupassen. Um einen sauberen MVC-Ansatz zu gewährleisten, kann jedes Widget, das eine programmierte Interaktion benötigt, in der XML-Datei benannt werden. Das ermöglicht der Applikation, den Dialog über diesen symbolischen Namen zu verwenden. Die Nutzung der Theme-Engine macht darüber hinaus die Erstellung von Widget- oder Dialog-Templates möglich, so dass metaWidgets erstellt werden können, die in den Dialog-Dateien verwendbar sind. Die Abbildung zeigt ein Beispiel von 23p, in dem diese verschiedenen Techniken genutzt werden, um einen IPTV-Stream und die Applikations-Steuerung anzuzeigen:

23p - Demoapplikation mit IPTV, SIP und Flash

Stefan Schwarzer und Jan-Carl Ronnecker

23p - Demoapplikation mit IPTV, SIP und Flash

Um im Embedded-Bereich optimal nutzbar zu sein, werden die XML-Dialog-Dateien nur einmal geparst und in das Binärformat taff kompiliert, um für die Rendering-Engine optimal lesbar zu sein. Dieses Prinzip minimiert die Startup-Zeit und begegnet den Herausforderungen des begrenzten Speicherplatzes.

Was folgt?

Diese kleine Einführung berührt nur die absolut grundlegenden Aspekte des Disko-Frameworks. Die Input-Beispiele für Fernbedienung, Touchscreen und den Einsatz der Plugins werden in folgenden Artikeln behandelt. Alle eventuellen Fragen können gerne im Disko-Forum gepostet werden.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung