Подтвердить что ты не робот

Электронный интерфейс для программы Голанга?

Я хотел бы создать графический интерфейс в Electron для настольного приложения, написанного в Go (в настоящее время это инструмент командной строки).

Какая конвенция для общения между процессами Electron и Go?

Будет ли просто использовать двоичный файл Go в качестве работы API? Какая-то связь в сети?

4b9b3361

Ответ 1

Взаимодействие приложения, написанного на электроне с его backend, точно похоже на веб-браузер, поэтому у вас есть те же опции (Web Api, Web Sockets, Ajax и т.д.)

Ответ 2

Вы можете выполнить свое приложение командной строки из своего приложения Electron с помощью child_process.spawn и связаться с ним через stdin/stdout.

Ответ 3

Вы можете использовать go-astilectron, он позволяет создавать кросс-платформенные графические приложения с GO и HTML/JS/CSS (работает на Electron ) (раскрытие: я автор)

Ответ 4

Murlock Является ли электронная оболочка для Golang, чтобы упростить это приложение для Mac. Они работают над Windows и ищут вклады для других платформ.

Ответ 5

Аналогично Murlock, могу ли я осмелиться предложить библиотеку Webview. Это тонкая оболочка Webkit и MSHTML, работающая под управлением Windows 7+, MacOS, Linux и OpenBSD.

Это намного меньше и проще, чем Электрон. Кроме того, результирующие приложения меньше и меньше памяти.

Вы можете посмотреть https://github.com/zserge/webview/tree/master/examples/todo-go для примера приложения Todo, который компилируется в небольшой автономный двоичный файл.

Ответ 6

Оформить заказ мюон, который лучше всего описан в их файле readme:

Muon - это легкая альтернатива Electron, написанная на Голанге примерно за 300 градусов Цельсия, с использованием сверхлегкого вместо хрома. Ultralight - это кроссплатформенный переписывание WebKit с использованием графического процессора для нацеливания встроенных настольных приложений, что привело к быстрому, легковесному и малому объему памяти с пользовательским интерфейсом HTML, который сочетает в себе мощь Chromium с небольшим размером Native UI.

Я не использовал это сам, но это выглядит очень многообещающим!