Salü,
ich habe in der Zwischenzeit ein wenig herumgetüftelt und wollte Euch die Ergebnisse nicht vorenthalten.
Mein Ziel war es, ein SpiderBasic-Projekt als Desktop-Applikation laufen zu lassen und dabei eine Websocket-Kommunikation mit PureBasic zu ermöglichen. Das Ganze soll dann auf Windows, Linux und MacOS ohne größere Neuprogrammierung funktionieren. Folgendes habe ich ausprobiert:
PureBasic + WebGadget:
Wie erwartet ist die Programmierung unter Windows durch den im WebGadget verwendeten Internet Explorer eine Qual. Ohne Änderungen in der Registry vorzunehmen (Browseremulation erstellen und "Klick"-Sound abschalten) und Windows-Api (zur Unterdrückung nerviger Javascript-Fehlermeldungen) kommt man nicht weit. Und selbst dann funktioniert beispielsweise das ListIconGadget von SpiderBasic nicht wie erwartet (Listeneinträge lassen sich nur per Tastatur auswählen; mit der Maus verschiebt man lediglich den Fokus).
Auch magere 302 von 555 Punkten auf
https://html5test.com/ lassen nichts Gutes verheißen. Die Kommunikation zwischen SpiderBasic und PureBasic mittels Websocket funktionierte nicht. Laut
"Can I use..." sollte der IE 11 Websocket-Kommunikation allerdings unterstützen.
Unter Linux hingegen machte das Ganze schon einen besseren Eindruck (kein Wunder, denn hier kommt WebKit zum Einsatz).
Lediglich die Javascript-Unterstützung musste eingeschaltet werden. Aber was nutzt der gute Eindruck unter Linux, wenn es unter Windows dann doch so sehr abfällt.
Java(FX) + WebKit:
Mittels B4J habe ich mir ein Fenster mit innen liegendem WebView (basiert auf WebKit) gebastelt. Das ging Rubbeldikatz. Das daraus entstandene JAR läuft sowohl unter Window als auch Linux problemlos (sofern die entsprechende Java-Version installiert ist). Die Kommunikation mittels Websocket funktioniert. Hier gefiel mir besonders die geringe Größe des JARs von knapp 400 KB. Mit 353 von 555 Punkten auf html5test.com schneidet WebKit ein wenig besser als der IE ab.
NodeJs + Electron
Die Königsklasse in Sachen Funktionsumfang. Hier kommt der Chromium zum Einsatz, was sich dann auch prompt mit stolzen 518 von 555 Punkten bei html5test.com niederschlägt. Ein interner parallel laufender Webserver (express), der die Dateien statisch zur Verfügung stellt, ist mit drei Zeilen Programmcode realisiert. Die Websocket-Kommunikation zwischen PB und Electron verlief erwartungsgemäß problemlos. Die im Chromium eingebaute Entwicklerkonsole ermöglicht komfortables Debugging. Der electron-packager erstellt Binaries, welche out-of-the-box auf allen wichtigen Betriebssystemen laufen (auch wenn man nicht über das entsprechende OS verfügt). Leider sind die mit Electron gebauten Applikation nicht gerade klein. Mit knapp 150 MB pro Installation muss man da schon rechnen.
Das zum Stand der Dinge von meiner Seite ... Peter