Фреймворк на Go для создания кроссплатформенных десктопных приложений с веб-интерфейсом на React, Vue, Svelte и других фреймворках.
maxence-charriere/go-app
Пакет Go для создания прогрессивных веб-приложений на WebAssembly с декларативным компонентным интерфейсом, полностью написанным на Go.
- Звёзды
- 8,973
- Форки
- 406
- Открытые issues
- 52
- Последний коммит
- 22 часа назад
Что это?
go-app позволяет разработчикам создавать прогрессивные веб-приложения на Go. Интерфейс собирается из переиспользуемых компонентов, которые создают и объединяют HTML-элементы прямо в коде Go, поэтому на клиентской стороне не нужны отдельный JavaScript или язык шаблонов. Код Go компилируется в WebAssembly и запускается в браузере.
Пакет использует стандартную модель Go net/http, поэтому приложение можно обслуживать через http.Handle и http.ListenAndServe, как любой другой веб-сервер на Go. Приложения, созданные с его помощью, могут запускаться в отдельном окне, поддерживают автономный режим и рассчитаны на SEO. Для маршрутизации между компонентами используется app.Route.
Для работы проекта требуется Go 1.18 или новее; пакет устанавливается как Go-модуль. На сайте документации go-app.dev описаны декларативный синтаксис и первые шаги.
Ключевые возможности
- 01Создание интерфейсов целиком на Go с помощью декларативного компонентного синтаксиса.
- 02Компиляция Go в WebAssembly для запуска в браузере.
- 03Использование стандартных интерфейсов Go net/http для обслуживания приложений.
- 04Поддержка автономного режима и запуска в отдельном окне в качестве PWA.
- 05Маршрутизация между компонентами с помощью app.Route.
Сценарии использования
- Создание веб-интерфейса или PWA для команды, которая предпочитает писать всё на Go.
- Разработка устанавливаемых веб-приложений с автономным режимом, которые также должны индексироваться поисковыми системами.
- Совместное использование типов и логики Go в серверной части и интерфейсе, работающем в браузере.
Темы
Частые вопросы
- Что такое go-app?
- Пакет Go для создания прогрессивных веб-приложений на WebAssembly с декларативным компонентным интерфейсом, полностью написанным на Go. go-app позволяет разработчикам создавать прогрессивные веб-приложения на Go. Интерфейс собирается из переиспользуемых компонентов, которые создают и объединяют HTML-элементы прямо в коде Go, поэтому на клиентской стороне не нужны отдельный JavaScript или язык шаблонов. Код Go компилируется в WebAssembly и запускается в браузере.
- go-app можно использовать бесплатно? Какая у него лицензия?
- go-app распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- go-app всё ещё поддерживается?
- Активно поддерживается. Последний коммит в go-app — 21 окт. 2026 г..
- Для чего можно использовать go-app?
- Создание веб-интерфейса или PWA для команды, которая предпочитает писать всё на Go. Разработка устанавливаемых веб-приложений с автономным режимом, которые также должны индексироваться поисковыми системами. Совместное использование типов и логики Go в серверной части и интерфейсе, работающем в браузере.
- Где скачать go-app?
- Исходный код и инструкции по установке — на GitHub: https://github.com/maxence-charriere/go-app
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Фреймворк на Rust для создания интерактивных клиентских веб-приложений, компилируемых в WebAssembly, с макросом для HTML в стиле JSX.
Кроссплатформенный GUI toolkit и API для приложений на Go, позволяющие создавать приложения для компьютеров и мобильных устройств на основе единой кодовой базы.
Порт FFmpeg на WebAssembly и JavaScript для записи, конвертации и потоковой передачи видео и аудио в браузере.
Набор инструментов компиляции, который преобразует код на C и C++ в WebAssembly для запуска в браузерах, Node.js и других Wasm-средах.
Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.