Obwohl die zentralen REST-Mechanismen in HTTP flexibel sind, arbeiten sie auf unterer Ebene. Ein Entwicklungsumgebung wie Qt kann diese Details auf unterer Ebene durch Komfortklassen abstrahieren und High-Level-objektorientierte Klassen für andere Teile der Anwendung bereitstellen.
Da Qt C++-basiert ist, lässt sich der Embedded-Code auf unterer Ebene, etwa für Hardware-Verbindungen, in die gleiche Software integrieren, ohne dabei Teile des Codes isolieren zu müssen. Mit der Kombination aus REST und Qt-Klassen haben IoT-Einrichtungen die Möglichkeit, nicht nur Daten zu empfangen und sich Befehle zuzusenden, sondern auch mit Servern in der Cloud zu kommunizieren und ihre lokale Hardware-Peripherie zu integrieren.
Bildergalerie
Die Cloud-Dienste müssen nicht für jede Anwendung von Grund auf neu entwickelt werden. Durch Cloud Services steht Qt-Entwicklern ein Angebot an Cloud-Funktionen auf Basis der RESTful-APIs und eine umfassende Cloud-API für den direkten Einsatz seitens Qt-Kunden zur Verfügung. Zu diesen Diensten zählen der Enginio Data Storage Service, Managed WebSockets für Verbindungen in Echtzeit und Managed Runtimes zur Übergabe von Teilen der Implementierung oder Berechnung – geschrieben mit herkömmlichen serverseitigen Technologien oder direkt über Qt-APIs – auf die skalierbare Serverseite. Vor allem für Systeme, die große Datenmengen sammeln und analysieren, hilft eine skalierbare serverseitige Berechnung dabei, die eingesetzten Embedded-Einrichtungen vernünftig zu betreiben.
Verschiedene Zielplattformen unterstützen
Neben dem zentralen IoT-Software-Stack muss der Entwickler auch langfristigen Support, Wartung, Upgrades und Verbesserungen berücksichtigen. Mit jeder Weiterentwicklung müssen IoT-basierte Systeme imstande sein, neue Hardware zu integrieren, die nahtlos mit den bestehenden Geräten zusammenarbeitet. Entwickler von Embedded-Systemen stehen dann vor dem Problem, dass verschiedene Implementierungsziele erfüllt werden müssen. Erforderlich wird damit eine Entwicklungsumgebung, die eine Software-Implementierung auf verschiedenen Zielanwendungen ermöglicht, die unterschiedliche Funktionen bieten – und das mit einer minimalen Anzahl erforderlicher Änderungen des Quellcodes.
IoT-Systeme erfordern nicht nur die Entwicklung von untereinander vernetzten Embedded-Einrichtungen, sondern auch die Bereitstellung von Client-Anwendungen, um mit diesen Einrichtungen und deren Daten zu interagieren. Heute gibt es zahlreiche Zielplattformen: Web-Dienste über den Browser, jede Art von Android-, iOS- oder Windows-Smartphones oder Tablets und Desktop-PCs. Mit einer übergreifenden Plattformtechnologie wird die Mehrzahl derzeitiger und zukünftiger Plattformen abgedeckt.
Code, der mit dem Qt-Framework geschrieben wurde, läuft auf einer Vielzahl von Betriebssystemen – von Plattformen für Anwendungen auf Echtzeit-Betriebssystemen über Embedded Linux bis hin zu Desktop-PCs und Mobilgeräten. Damit lässt sich eine gemeinsame Betriebslogik für Sensorknoten und Mobilgeräte einsetzen, die grafikintensive Software wie Android verwendet.
Qt bietet einen hohen Grad an Portierbarkeit durch seine Klassen und Tools, genauso wie die UI-(User-Interface-)Ansätze. Mit einer Auswahl an Grafikansätzen können Entwickler die Portierbarkeit maximieren, aber immer noch die Feineinstellung der Anwendung für jedes Zielgerät beibehalten. So können ein Wearable-Funksensor und ein Display einfache Grafik auf Basis statischer Symbole und Zeichen verwenden. Die gleiche Displayfunktion für eine Android-App kann alle Vorteile der Animation und Multi-Touch-Funktion nutzen.
Zu den GUI-Entwicklungsoptionen innerhalb von Qt zählen Qt Quick und Qt Widgets, die vor allem für relativ statische Schnittstellen optimiert sind. Sie eignen sich für Geräte mit beschränkter Verarbeitungsleistung und einfachen, kleineren Displays. Qt Quick bietet die Markup-Sprache QML, die einen deklarativen High-Level-Ansatz für das UI-Design bereitstellt, der von UI-Designern und Entwicklern zusammen verwendet werden kann. Qt Quick unterstützt moderne Rapid-Prototyping-Prozesse zum Erstellen interaktiver touch-basierter Benutzeroberflächen. Zur Integration von HTML5 in die Bedienoberfläche bietet Qt eine Chromium-basierte Engine, genannt Qt WebEngine.
Für eine Anwendung, die auf mehreren Zielplattformen eingesetzt werden kann – ob nun Embedded, Mobil oder Desktop – kann der Betriebslogik-Code, der Qt nutzt, für alle Anwendungen bis zu 80 Prozent übereinstimmen. Mit den Funktionen von Qt Quick wird die Bedienoberfläche über verschiedene Zielplattformen skalierbar. Sind separate UI-Layouts gewünscht, helfen eine gemeinsame GUI-Ebene oder gemeinsame Komponenten und Designs mit kleinen, separaten Layout-Dateien, die Code-Wiederverwendung zu maximieren. Selbst wenn verschiedene Zielanwendungen vorliegen, ist nur eine kleine Änderung zwischen den GUIs erforderlich – und das alles innerhalb einer einzigen Technologie. Es müssen keine verschiedenen Teams für jede Zielplattform beschäftigt werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Fazit: Embedded-Prototyping einfach gemacht
Um Rapid Prototyping auf einem echten Embedded-System vorzunehmen, damit sich Formfaktoren und Systemoptionen ausprobieren lassen, können Entwickler den „Boot to Qt“ Software-Stack nutzen, der in Qt Enterprise Embedded integriert ist. Dabei handelt es sich um einen vorkonfigurierten Software-Stack für eine Embedded-Hardware-Plattform – entweder auf Embedded Android oder Embedded Linux. Mit dem Stack und der vorkonfigurierten Qt Creator IDE (integrierte Entwicklungsumgebung) lässt sich eine Qt-Anwendung sofort in der gewünschten Hardware für das Rapid Prototyping umsetzen. Der in der Regel langwierige Code-Compile-Deploy-Zyklus wird auf wenige Klicks verkürzt.
Für das Rapid Prototyping von Embedded-Systemen benötigen Entwickler ein frühes Feedback von den Endkunden. Dazu dienen Usability-Tests des Projektkunden, um die Entwicklung in die richtige Richtung zu lenken. Dieser Prozess macht auch die Anforderungen für die Hardware ausfindig, damit die letztendliche Hardwareentscheidung nach anfänglichen Durchläufen erfolgen kann und genau den Wünschen entspricht. Der „Boot to Qt“-Software-Stack lässt sich dann für die endgültige Hardware und gewünschten Middleware-Inhalte anpassen. Dies erfolgt über entsprechende Tools oder für Embedded Linux über die proprietären Rezepte für Yocto-Projekt-Tooling. Der übergeordnete, eigentliche Anwendungscode bleibt genau der gleiche.
Durch die vielen Möglichkeiten der Cross-Plattform-Entwicklung, die Qt bietet, lassen sich IoT-Systeme mit Embedded- und Cloud-vernetzten Systemen sowie entfernten Client-Anwendungen umsetzen – ohne dabei für das gesamte Portfolio verschiedene Technologien verwalten zu müssen. Mit einer flexiblen Plugin-basierten Architektur – sowohl für lokale Software als auch das Networking – lassen sich neue Systeme mit beliebigen Diensten hinzufügen, ohne dabei andere Teile des Systems verändern zu müssen.
Qt’s Portierbarkeit und Flexibilität ermöglicht es, vorhandene Software auf aktualisierte Hardware zu migrieren, sobald diese zur Verfügung steht. Damit wird sichergestellt, dass eine IoT-Implementierung wettbewerbsfähig bleibt.
Bei der Arbeit auf einer höheren Abstraktionsebene mit einer erweiterbaren Architektur können sich Unternehmen auf die Bereiche des IoT konzentrieren, mit denen sich eine Differenzierung ergibt, anstatt sich mit Details auf unterer Ebene und dem IoT-Protokoll beschäftigen zu müssen.
* Tuukka Ahoniemi ist Technical Product Marketing Manager bei der Qt Company.