Фреймворк на Go для создания кроссплатформенных десктопных приложений с веб-интерфейсом на React, Vue, Svelte и других фреймворках.
egoist/mygo
Фреймворк на Go для создания десктопных приложений с веб-интерфейсом в системном webview или нативным UI, который рендерится на GPU.
- Звёзды
- 5,015
- Форки
- 303
- Открытые issues
- 100
- Последний коммит
- 23 часа назад
Что это?
MyGo позволяет создавать десктопные приложения на Go с окнами двух типов: одни отображают веб-страницу в webview, предоставляемом операционной системой (WKWebView в macOS, WebKitGTK в Linux, WebView2 в Windows), а другие используют нативный UI toolkit на Go, который MyGo рендерит на GPU без HTML, JavaScript и webview. В одном окне или приложении можно сочетать оба типа.
Для веб-интерфейсов Go-сервисы связываются с TypeScript-клиентом, сгенерированным из кода на Go. Поддерживаются типизированный IPC, каналы для потоковой передачи значений и типизированные события. Проект написан на чистом Go без cgo, поэтому его можно кросс-компилировать на любой машине. Desktop API охватывают окна, меню, системный трей, диалоги, уведомления, глобальные сочетания клавиш, deep links, ассоциации файлов и системный акцентный цвет.
В проект также входят инструменты для упаковки и распространения приложений: app bundles, образы дисков, установщики для Windows, пакеты Debian, подписание кода, нотариальное заверение и подписанные автообновления с delta updates.
Ключевые возможности
- 01Окна с веб-страницами, из которых можно вызывать Go-код через сгенерированный TypeScript-клиент.
- 02Нативный UI toolkit на Go с компоновкой flexbox и grid, виджетами и виртуализированными списками.
- 03Чистый Go без cgo, позволяющий собирать приложения для разных платформ на любой машине.
- 04Desktop API для меню, системного трея, диалогов, уведомлений, глобальных сочетаний клавиш и deep links.
- 05Упаковка и подписанные автообновления для macOS, Windows и Linux.
Сценарии использования
- Создание десктопного инструмента, для которого команде нужен Go и для серверной логики, и для UI.
- Разработка лёгких приложений с нативным UI, которые быстро запускаются и потребляют мало памяти.
- Выпуск кроссплатформенного десктопного приложения с подписанием кода и автообновлениями.
- Добавление в десктопное приложение веб-интерфейса на базе Go с использованием системного webview.
Быстрый старт
- 1
Установите Go 1.27.3 или новее и Bun
- 2
Создайте приложение веб-фронтенда
bunx mygo-cli init my-app - 3
Перейдите в папку проекта
cd my-app - 4
Запустите сервер разработки
bun run dev
Что важно знать
- Для быстрого старта требуются Go 1.27.3 или новее и Bun.
В выпуске Repolode Weekly
- Выпуск 3 · Большие MoE-модели с SSD и пересборка Rust за миллисекунды
Фреймворк для десктопных приложений на Go: веб-интерфейс в системном webview или нативный UI, отрисованный на GPU. Чистый Go без cgo, кросс-сборка с любой машины.
В подборках
Темы
Частые вопросы
- Что такое mygo?
- Фреймворк на Go для создания десктопных приложений с веб-интерфейсом в системном webview или нативным UI, который рендерится на GPU. MyGo позволяет создавать десктопные приложения на Go с окнами двух типов: одни отображают веб-страницу в webview, предоставляемом операционной системой (WKWebView в macOS, WebKitGTK в Linux, WebView2 в Windows), а другие используют нативный UI toolkit на Go, который MyGo рендерит на GPU без HTML, JavaScript и webview. В одном окне или приложении можно сочетать оба типа.
- mygo можно использовать бесплатно? Какая у него лицензия?
- mygo распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mygo всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mygo — 6 нояб. 2026 г..
- Для чего можно использовать mygo?
- Создание десктопного инструмента, для которого команде нужен Go и для серверной логики, и для UI. Разработка лёгких приложений с нативным UI, которые быстро запускаются и потребляют мало памяти. Выпуск кроссплатформенного десктопного приложения с подписанием кода и автообновлениями. Добавление в десктопное приложение веб-интерфейса на базе Go с использованием системного webview.
- Как установить mygo?
- Установите Go 1.27.3 или новее и Bun Создайте приложение веб-фронтенда: bunx mygo-cli init my-app Перейдите в папку проекта: cd my-app Запустите сервер разработки: bun run dev
- Где скачать mygo?
- Исходный код и инструкции по установке — на GitHub: https://github.com/egoist/mygo
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
GUI-фреймворк для Python, который использует в приложениях нативные виджеты каждой операционной системы.
Инструментарий на Zig для создания desktop-приложений с нативным GPU-интерфейсом или веб-страницей в системном webview.
Небольшая библиотека C/C++, которая встраивает нативный веб-просмотр в настольные приложения: использует WebKit в Linux и macOS, а WebView2 — в Windows.
Rust-движок для кроссплатформенных нативных интерфейсов: пишите приложения на Rust или TSX и используйте виджеты каждой платформы.
Кроссплатформенный движок нативных интерфейсов: логика приложения работает на Go, а каждая платформа отрисовывает интерфейс своими нативными представлениями.