Abo
  • Services:
Anzeige
Qt Webchannel verbindet C++ mit Web-Anwendungen.
Qt Webchannel verbindet C++ mit Web-Anwendungen. (Bild: qt.io)

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.

Anzeige

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.

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.


eye home zur Startseite



Anzeige

Stellenmarkt
  1. TARGIS GmbH, Oldenburg
  2. über Harvey Nash GmbH, Stuttgart
  3. ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn
  4. DATAGROUP Köln GmbH, Monheim am Rhein


Anzeige
Blu-ray-Angebote
  1. (u. a. The Revenant 7,97€, James Bond Spectre 7,97€, Der Marsianer 7,97€)
  2. inklusive Wonder Woman Comic
  3. (u. a. Underworld Awakening 9,99€, Der Hobbit 3 9,99€ und Predestination 6,97€)

Folgen Sie uns
       


  1. MWC Shanghai

    LTE-Technologie erreicht Latenz von unter zwei Millisekunden

  2. Landkreis Plön

    Tele Columbus bringt Gigabit-Zugänge in 15.000 Haushalte

  3. Innovation Days

    Ericsson liefert Basisstation an 5G Lab Germany

  4. Für Lokalsender

    Kabelnetzbetreiber wollen 250 Millionen Euro Rundfunkgebühr

  5. Linux-Kernel-Security

    Torvalds bezeichnet Grsecurity als "Müll"

  6. Zolo Liberty Plus

    Drahtlose Ohrstöpsel auf Kickstarter für nur 100 US-Dollar

  7. Eckpunkte

    Bundesnetzagentur sieht 5G bei 2 GHz und 3.400 bis 3.700 MHz

  8. Internet sofort

    Das Warten auf den Festnetzanschluss kann teuer werden

  9. Ransomware

    Petya-Kampagne nutzt Lücke in Buchhaltungssoftware

  10. 10 GBit/s

    Erste 5G-Endgeräte sind noch einen Kubikmeter groß



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Mieten bei Ottonow und Media Markt: Miet mich!
Mieten bei Ottonow und Media Markt
Miet mich!
  1. Online-Handel Websperren sollen Verbraucherschutz stärken
  2. United-Internet-Übernahme Drillisch will weg von Billigangeboten
  3. Übernahmen Extreme Networks will eine Branchengröße werden

Oneplus Five im Test: Der Oneplus-Nimbus verblasst - ein bisschen
Oneplus Five im Test
Der Oneplus-Nimbus verblasst - ein bisschen
  1. Smartphone Der Verkauf des Oneplus Five beginnt

Monster Hunter World angespielt: Dicke Dinosauriertränen in 4K
Monster Hunter World angespielt
Dicke Dinosauriertränen in 4K
  1. Shawn Layden im Interview Sony setzt auf echte PS 5 statt auf Konsolenevolution
  2. Square Enix Die stürmischen Ereignisse vor Life is Strange
  3. Spider-Man Superheld mit Alltagssorgen

  1. Re: Was jetzt?

    HerrMannelig | 00:33

  2. Re: Ist nicht wahr - warten auf das Auto kann...

    DerDy | 00:22

  3. Re: "der gesamte Auftrag sei leider fehlerhaft im...

    fabische | 00:18

  4. Re: gewolltes "zusatzgeschäft"

    DerDy | 00:08

  5. Re: Dafür mag ich ihn ...

    SelfEsteem | 00:07


  1. 18:23

  2. 17:10

  3. 16:17

  4. 14:54

  5. 14:39

  6. 14:13

  7. 13:22

  8. 12:03


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel