Abo
  • IT-Karriere:

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. OEDIV KG, Oldenburg
  2. Technische Universität Darmstadt, Darmstadt

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
Spiele-Angebote
  1. 54,49€
  2. 2,99€
  3. 2,99€
  4. 4,99€

Folgen Sie uns
       


Timex Data Link ausprobiert

Die Data Link wurde von Timex und Microsoft entwickelt und ist eine der ersten Smartwatches. Anlässlich des 25-jährigen Jubiläums haben wir uns die Uhr genauer angeschaut - und über einen alten PC mit Röhrenmonitor programmiert.

Timex Data Link ausprobiert Video aufrufen
IT-Arbeit: Was fürs Auge
IT-Arbeit
Was fürs Auge

Notebook, Display und Smartphone sind für alle, die in der IT arbeiten, wichtige Werkzeuge. Damit man etwas mit ihnen anfangen kann, ist ein anderes Werkzeug mindestens genauso wichtig: die Augen. Wir geben Tipps, wie man auch als Freiberufler augenschonend arbeiten kann.
Von Björn König

  1. IT-Fachkräftemangel Arbeit ohne Ende
  2. IT-Forensikerin Beweise sichern im Faradayschen Käfig
  3. Homeoffice Wenn der Arbeitsplatz so anonym ist wie das Internet selbst

OKR statt Mitarbeitergespräch: Wir müssen reden
OKR statt Mitarbeitergespräch
Wir müssen reden

Das jährliche Mitarbeitergespräch ist eines der wichtigsten Instrumente für Führungskräfte, doch es ist gerade in der IT-Branche nicht mehr unbedingt zeitgemäß. Aus dem Silicon Valley kommt eine andere Methode: OKR. Sie erfüllt die veränderten Anforderungen an Agilität und Veränderungsbereitschaft.
Von Markus Kammermeier

  1. Sysadmin "Man kommt erst ins Spiel, wenn es brennt"
  2. Verdeckte Leiharbeit Wenn die Firma IT-Spezialisten als Fremdpersonal einsetzt
  3. IT-Standorte Wie kann Leipzig Hypezig bleiben?

10th Gen Core: Intel verwirrt mit 1000er- und 10000er-Prozessoren
10th Gen Core
Intel verwirrt mit 1000er- und 10000er-Prozessoren

Ifa 2019 Wer nicht genau hinschaut, erhält statt eines vierkernigen 10-nm-Chips mit schneller Grafikeinheit einen Dualcore mit 14++-Technik und lahmer iGPU: Intels Namensschema für Ice Lake und Comet Lake alias der 10th Gen macht das CPU-Portfolio wenig transparent.
Von Marc Sauter

  1. Neuromorphic Computing Intel simuliert 8 Millionen Neuronen mit 64 Loihi-Chips
  2. EMIB trifft Foveros Intel kombiniert 3D- mit 2.5D-Stacking
  3. Nervana NNP-I Intels 10-nm-Inferencing-Chip nutzt Ice-Lake-Kerne

    •  /