Qt-Emebbed-Enterprise-Applikationen laufen wahlweise im Emulator auf dem Host oder im eigenen Software-Stack auf der Zielplattform.

Qt-Emebbed-Enterprise-Applikationen laufen wahlweise im Emulator auf dem Host oder im eigenen Software-Stack auf der Zielplattform.Digia

Digia kündigt mit Qt Enterprise Embedded eine vollintegrierte Lösung an, mit der Anwender sofort mit der Softwareentwicklung für Embedded-Applikationen beginnen können. Das Produkt enthält alle Tools, die für eine schnelle, einfache, vollintegrierte Embedded-Entwicklung erforderlich sind.

Qt ist ein plattformübergreifendes Applikations- und User-Interface-Framework, das eine native Entwicklung über den meisten gängigen Betriebssystemen und Betriebsmasken hinweg ermöglicht. Qt vereinfacht die Entwicklung, da sich optisch hochwertige Anwendungen auf verschiedenen Endgeräten im Desktop-, Embedded- und Mobilbereich schneller entwickeln und umsetzen lassen: Der einmal geschriebene C++-Code muss nur für das jeweilige Target neu übersetzt werden. Da Qt auf sehr unterschiedlichen Systemen wie Windows, Unix/Linux, Mac OS X und vielen Emebdded-Plattformen läuft (derzeit 14 Betriebssysteme), bringt es neben den GUI-Widgets auch Bibliotheken für viele andere Bereiche mit – von Multimedia- und Netzwerk-Funktionen über SQL und XML bis hin zu vollwertigen HTML-Widgets und Skripting-Funktionen. Neben den Bibliotheken sind den vergangenen Jahren auch eine IDE und GUI-Builder entstanden. Mit QML (Qt Markup Language) lassen sich auch komplexe grafische Benutzeroberflächen deskriptiv beschreiben (vergleichbar zu CSS und Javascript), statt sie mit aufwändigem Code zu erzeugen.

Die Bestandteile

Qt Enterprise Embedded besteht aus zwei wesentlichen Teilen: einer Entwicklungsumgebung (IDE) und einem Software-Stack namens „Boot to Qt Software Stack“. Kern der Entwicklungsumgebung ist die Qt Creator IDE. Die Entwicklung erfolgt mit Qt-Enterprise-Bibliotheken, und die Umsetzung in einem Gerät, das über USB oder Netzwerk angeschlossen ist, kann über einen Klick aus Qt Creator erfolgen. Alternativ kann die Anwendung auf einem Emulator auf dem Host-System laufen, das den gleichen Software Stack betreibt wie das Zielgerät. Die Qt-Enterprise-Bibliotheken erweitern die freien Qt-Bibliotheken um praktische Funktionen wie ein Chart-Widget, die als „Qt Enterprise Controls“

Der Boot-to-Qt-Software-Stack ist ein ressourcenschonender, Qt-optimierter, umfassender Stack, der auf der Zielhardware läuft. Die Installation erfolgt durch Kopieren eines vorgefertigten Images aus der Entwicklungsumgebung auf die Speicherkarte des Zielgeräts oder direkt in den internen Speicher des Geräts. Der Stack steht im Embedded-Android- und Embedded-Linux-Format bereit. Die Embedded-Android-Variante basiert auf dem Android-Kernel und ausgewählter Middleware. Sie ist ein schlanker Software-Stack, in dem Qt/QML die gesamte obere Java-Ebene ersetzt, einschließlich Grafik und die Dalvik-VM. Entfernt wurden auch die Zygote-Prozessebene und der Android-Home-Screen. Der Embedded-Linux-Stack basiert auf dem herkömmlichen Linux-Kernel und verwendet das Yocto-Poky-Referenzsystem.

Grafikfähigkeit

Qts Grafikfähigkeit wird durch OpenGL ES 2.0 noch erweitert. Diese Version der Grafikapplikations-Programmierschnittstelle wurde speziell für Embedded-Systeme und Mobilgeräte entwickelt. Damit lassen sich umfangreiche Grafiken mit weichen Animationen und Übergängen sowie reibungslos gerenderten 2D- und 3D-Animationen einfach entwickeln – und das auch auf Geräten mit begrenzter Leistungsfähigkeit, da Qt auf diesem Weg die Hardware-Beschleuniger der GPU ausgiebig nutzt. Neben den vielseitigen plattformübergreifenden Qt-APIs können Anwendungen, die mit Qt erstellt wurden, auch plattform- und gerätespezifische APIs direkt nutzen. Entwicklern steht es damit frei, jede Funktion zu integrieren, die ihre Anwendung erfordert. Da die Applikation in C++ und nicht in Java geschrieben wird, ist hierzu keine spezielles Interface wie JNI nötig.

Die Entwicklungsumgebung Qt Enterprise Embedded läuft auf Ubuntu Linux 64-Bit 12.04 LTS oder aktueller. Zur unterstützten Zielhardware zählen zum Zeitpunkt der Markteinführung: Google Nexus 7 Tablet (Tegra 3, ARM Cortex-A9); Beagle Board xM (ARM Cortex-A8); Boundary Devices SabreLite (Freescale i.MX 6); Raspberry Pi Model B (ARM11) und BeagleBone Black (TI AM335x). Digia kann den Software-Stack auch auf kundenspezifische Hardware portieren. Der Qt Enterprise Embedded Emulator ist in die Entwicklungsumgebung integriert.