Ответ 1
Взаимодействие приложения, написанного на электроне с его backend, точно похоже на веб-браузер, поэтому у вас есть те же опции (Web Api, Web Sockets, Ajax и т.д.)
Я хотел бы создать графический интерфейс в Electron для настольного приложения, написанного в Go (в настоящее время это инструмент командной строки).
Какая конвенция для общения между процессами Electron и Go?
Будет ли просто использовать двоичный файл Go в качестве работы API? Какая-то связь в сети?
Взаимодействие приложения, написанного на электроне с его backend, точно похоже на веб-браузер, поэтому у вас есть те же опции (Web Api, Web Sockets, Ajax и т.д.)
Вы можете выполнить свое приложение командной строки из своего приложения Electron с помощью child_process.spawn
и связаться с ним через stdin
/stdout
.
Вы можете использовать go-astilectron, он позволяет создавать кросс-платформенные графические приложения с GO и HTML/JS/CSS (работает на Electron ) (раскрытие: я автор)
Murlock Является ли электронная оболочка для Golang, чтобы упростить это приложение для Mac. Они работают над Windows и ищут вклады для других платформ.
Аналогично Murlock, могу ли я осмелиться предложить библиотеку Webview. Это тонкая оболочка Webkit и MSHTML, работающая под управлением Windows 7+, MacOS, Linux и OpenBSD.
Это намного меньше и проще, чем Электрон. Кроме того, результирующие приложения меньше и меньше памяти.
Вы можете посмотреть https://github.com/zserge/webview/tree/master/examples/todo-go для примера приложения Todo, который компилируется в небольшой автономный двоичный файл.
Оформить заказ мюон, который лучше всего описан в их файле readme:
Muon - это легкая альтернатива Electron, написанная на Голанге примерно за 300 градусов Цельсия, с использованием сверхлегкого вместо хрома. Ultralight - это кроссплатформенный переписывание WebKit с использованием графического процессора для нацеливания встроенных настольных приложений, что привело к быстрому, легковесному и малому объему памяти с пользовательским интерфейсом HTML, который сочетает в себе мощь Chromium с небольшим размером Native UI.
Я не использовал это сам, но это выглядит очень многообещающим!