Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.