Abo
  • Services:

Qt Developer Days 2014: Javascript-Clients für Qt-Server-Software

Qtwebchannel ermöglicht C++-Anwendungen die Kommunikation mit Javascript-Clients, die Objekte wiederverwenden können. Dank Websockets kann das Projekt theoretisch auf Sprachen wie Python oder Ruby erweitert werden.

Artikel veröffentlicht am ,
Qt Webchannel verbindet C++ mit Web-Anwendungen.
Qt Webchannel verbindet C++ mit Web-Anwendungen. (Bild: qt.io)

Um die Fülle der Javascript-Frameworks einfach in Verbindung mit komplexen Qt-Anwendungen zu verwenden, kann mit dem Ende dieses Jahres erwarteten Qt 5.4 das Webchannel-Modul genutzt werden. Das Projekt ermöglicht die Kommunikation zwischen Javascript-Clients und Qt-Anwendungen und ist für einen KDAB-Kunden entstanden, wie Mitentwickler Milian Wolff erklärt, der es auf den diesjährigen Qt Developer Days vorstellt. Der Kunde habe für die grafische Darstellung auf Webtechniken zurückgreifen und Objekte aus dem C++-Backend weiterverwenden wollen.

Stellenmarkt
  1. TKR Spezialwerkzeuge GmbH, Gevelsberg
  2. WEGMANN automotive GmbH & Co. KG, Veitshöchheim

Qt Webchannel kann zur Kommunikation zwischen Client und Server-Anwendungen eingesetzt werden, wobei sowohl Text als auch Binärobjekte gesendet und empfangen werden können. Zur Übertragung der Daten zwischen Backend und Anwendung selbst können entweder Websockets oder auch die Interprozesskommunikation (IPC) genutzt werden, die in den Multi-Prozessarchitekturen von Webkit 2 sowie dem Google-Fork Blink vorhanden sind.

Objekte mit Methoden und Eigenschaften überführen

Die Webchannel-Technik erlaubt dabei das Weiterleiten eines QObjects samt Methoden, Signalen und Eigenschaften durch eine Serialisierung des Metaobjects, das den Zugriff auf die eben genannten Dinge ermöglicht. Auf der Seite des Clients wird aus diesen Daten ein dynamisches Javascript-Objekt erzeugt, das die API des Server-Objekts spiegelt.

Im Javascript Client können so die Eigenschaften gelesen oder mit neuen Werten besetzt werden. Zudem lässt sich eine Methode aufrufen, die auf dem Server ausgeführt wird, und der Client erhält dann den Rückgabewert. Darüber hinaus können Javascript-Funktionen genutzt werden, um den Client mit einem Qt-Signal zu verbinden. Die Umsetzung dieser Möglichkeiten erfordert neben dem Einfügen der bereitgestellten Javascript-Bibliothek aber noch vergleichsweise viel eigene Programmierarbeit, was sich in Zukunft jedoch ändern soll, wie Wolff versichert.

Der Javascript-Client kann derzeit in einer Anwendung mittels QtWebkit oder auch einem beliebigen Browser verwendet werden. Eine Client-Implementierung im QML mit QtQuick2, die auf Websockets aufbaut, ist ebenso möglich. Mit der neuen auf Blink basierenden Qt Webengine werde die Technik offiziell erst mit Qt 5.5 im nächsten Jahr genutzt werden können, da die Entwickler die Frist zum Einreichen neuer Funktionen in Qt 5.4 knapp verpasst hätten, so Wolff.

In seinem Vortrag demonstriert Wolff außerdem einen Webchannel-Client, der auf Node.js basiert, sowie die Verwendung mehrerer Clients, die sich mit dem gleichen Server verbinden. Neben Codeoptimierungen sind weitere neue Funktionen geplant, wie die Unterstützung von Qt Webview für Android und iOS in Qt 5.5. Wolff kann sich allerdings auch vorstellen, dass die Client-Funktionen für weitere Programmiersprachen wie etwa Python oder Ruby geschrieben werden, da die Websockets eine einfache Möglichkeit dafür böten.



Anzeige
Top-Angebote
  1. (-88%) 2,49€
  2. (-77%) 11,49€
  3. 55,11€ (Bestpreis!)
  4. 299€ + 4,99€ Versand oder Abholung im Markt

Folgen Sie uns
       


Rimac Concept Two (C_Two) angesehen (Genf 2018)

Wir haben uns auf dem Genfer Autosalon 2018 den C_Two von Rimac angesehen.

Rimac Concept Two (C_Two) angesehen (Genf 2018) Video aufrufen
Xperia XZ2 Compact im Test: Sonys kompaktes Top-Smartphone bleibt konkurrenzlos
Xperia XZ2 Compact im Test
Sonys kompaktes Top-Smartphone bleibt konkurrenzlos

Sony konzentriert sich beim Xperia XZ2 Compact erneut auf die alte Stärke der Serie und steckt ein technisch hervorragendes Smartphone in ein kompaktes Gehäuse. Heraus kommt ein kleines Gerät, das kaum Wünsche offenlässt und in dieser Größenordnung im Grunde ohne Konkurrenz ist.
Ein Test von Tobias Költzsch

  1. Xperia XZ2 Premium Sony stellt Smartphone mit lichtempfindlicher Dualkamera vor
  2. Sony Grundrauschen an Gerüchten über die Playstation 5 nimmt zu
  3. Playstation Sony-Chef Kaz Hirai verabschiedet sich mit starken Zahlen

Adblock Plus: Bundesgerichtshof erlaubt Einsatz von Werbeblockern
Adblock Plus
Bundesgerichtshof erlaubt Einsatz von Werbeblockern

Der Bundesgerichtshof hat im Streit um die Nutzung von Werbeblockern entschieden: Eyeo verstößt mit Adblock Plus gegen keine Gesetze. Axel Springer hat nach dem Urteil angekündigt, Verfassungsbeschwerde einreichen zu wollen.

  1. Urheberrecht Easylist muss Anti-Adblocker-Domain entfernen

HTC Vive Pro im Test: Das beste VR-Headset ist nicht der beste Kauf
HTC Vive Pro im Test
Das beste VR-Headset ist nicht der beste Kauf

Höhere Auflösung, integrierter Kopfhörer und ein sehr bequemer Kopfbügel: Das HTC Vive Pro macht alles besser und gilt für uns als das beste VR-Headset, das wir bisher ausprobiert haben. Allerdings ist der Preis dafür so hoch, dass kaufen meist keine clevere Entscheidung ist.
Ein Test von Oliver Nickel

  1. SteamVR Tracking 2.0 36 m² Spielfläche kosten 1.400 Euro
  2. VR-Headset HTCs Vive Pro kostet 880 Euro
  3. HTC Vive Pro ausprobiert VR-Headset hat mehr Pixel und Komfort

    •  /