Об этом проекте

go-app - это пакет Go, который позволяет разработчикам создавать прогрессивные веб-приложения (PWA) с использованием языка программирования Go и WebAssembly (Wasm). Он предоставляет декларативный синтаксис для создания и композиции HTML-элементов полностью внутри кода Go, позволяя разработчикам создавать многократно используемые, компонентные элементы UI без выхода из экосистемы Go. Ключевые особенности включают: - Декларативный синтаксис UI: Компоненты определяются как структуры Go, в которые встроен app.Compo, с методом Render(), который возвращает элементы app.UI. Синтаксис поддерживает условную отрисовку (app.If/app.Else), обработку событий (OnChange, ValueTo) и создание стандартных HTML-элементов (Div, H1, P, Input, Text и т. д.). - Стандартная интеграция с HTTP из Go: Приложения соответствуют интерфейсам пакета net/http из Go, используя app.Route для маршрутизации компонентов и app.Handler для маршрутизации HTTP, что делает его простым для обслуживания вместе с другими обработчиками HTTP из Go. - Возможности прогрессивных веб-приложений: Приложения поддерживают запуск в собственном окне, режим offline и являются дружественными для SEO. - Требования: Go 1.18 или новее и модули Go. Проект активно поддерживается с помощью GitHub Actions CI, Go Report Card coverage и сообщества вкладчиков, поддерживаемого через Open Collective. Документация размещена на go-app.dev и сама построена с помощью go-app. Заметные проекты, построенные с помощью go-app, включают Lofimusic.app, Murlok.io и liwasc.