Repolode
maxence-charriere

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 обновляется ежедневно.

Похожие проекты

Кроссплатформенный GUI toolkit и API для приложений на Go, позволяющие создавать приложения для компьютеров и мобильных устройств на основе единой кодовой базы.

28,8 тыс.1,6 тыс.GoBSD-3-ClauseОбновлён 3 дня назад

Эмулятор x86-ПК, работающий в браузере: он преобразует машинный код в WebAssembly на лету и загружает настоящие операционные системы.

23,6 тыс.1,9 тыс.JavaScriptBSD-2-ClauseОбновлён 3 дня назад