2016-04-30 18 views
18

Ich würde gerne eine GUI in Electron für eine Desktop-Anwendung in Go geschrieben (derzeit ist es ein Kommandozeilen-Tool).Electron UI für Golang-Programm?

Was ist die Konvention für die Kommunikation zwischen den Prozessen Electron und Go?

Würde die Go-Binärdatei einfach als API funktionieren? Eine Art Websocket-Kommunikation?

Antwort

10

Die Wechselwirkung einer Anwendung in Elektron mit seinem Backend geschrieben ist genau wie ein Web-Browser, deshalb haben Sie die gleichen Optionen (Web Api, Web Sockets, Ajax usw.)

+2

Ich entschied mich, https://github.com/googollee/go-socket.io für das Back-End und normale socket.io am Frontend zu verwenden. Vielen Dank! – Ashkay

9

Sie Ihren Zeilenbefehl ausführen können App von Ihrem Electron App über child_process.spawn und kommunizieren Sie mit ihm über stdin/stdout.

3

Murlock Ist ein Electron-Wrapper für Golang, um es einfach für diese Art von App für Mac zu machen. Sie arbeiten unter Windows und suchen nach Beiträgen für die anderen Plattformen.

+2

Schönes Projekt, aber ich denke nicht, dass es ein Wrapper für Electron ist. Die Mac-Version verwendet WebKit. Die Windows-Version verwendet EdgeHTML. – r03

+0

Murlock ist kein Electron-Wrapper. Es ist einfach ein Go-Paket, um eine Benutzeroberfläche mit HTML und CSS zu erstellen. Aber es sieht wie ein sehr interessantes Projekt aus! – Pioz

7

Sie können go-astilectron verwenden ermöglicht es Ihnen, Cross-Plattform-GUI-Anwendungen mit GO und HTML/JS/CSS (angetrieben durch Electron) zu bauen (Offenlegung: Ich bin der Autor)

1

ähnlich Murlock, Darf ich vorschlagen, Webview Bibliothek vorschlagen. Es ist ein dünner Wrapper über Webkit und MSHTML, der unter Windows 7+, MacOS, Linux und OpenBSD läuft.

Es ist viel kleiner und einfacher als Electron. Auch die resultierenden Apps sind kleiner und weniger speicherhungrig.

Sie können sich https://github.com/zserge/webview/tree/master/examples/todo-go für eine Todo-App ansehen, die in eine kleine eigenständige Binärdatei kompiliert.