Sobre o projeto

go-app é um pacote Go que permite aos desenvolvedores criar aplicações web progressivas (PWA) usando a linguagem de programação Go e WebAssembly (Wasm). Ele fornece uma sintaxe declarativa para criar e compor elementos HTML inteiramente em código Go, permitindo que os desenvolvedores escrevam elementos de UI reutilizáveis e baseados em componentes sem sair do ecossistema Go. Os principais recursos incluem: - Sintaxe declarativa de UI: Componentes são definidos como structs Go que incorporam app.Compo, com um método Render() que retorna elementos app.UI. A sintaxe suporta renderização condicional (app.If/app.Else), manipulação de eventos (OnChange, ValueTo) e criação de elementos HTML padrão (Div, H1, P, Input, Text, etc.). - Integração padrão com HTTP em Go: Aplicações seguem as interfaces do pacote net/http do Go, usando app.Route para roteamento de componentes e app.Handler para roteamento HTTP, facilitando a execução junto com outros manipuladores HTTP Go. - Recursos de Progressive Web App: Prontos para uso, as aplicações suportam execução em janela própria, modo offline e são amigáveis para SEO. - Requisitos: Go 1.18 ou superior e módulos Go. O projeto é mantido ativamente com CI do GitHub Actions, cobertura do Go Report Card e uma comunidade de colaboradores apoiada pelo Open Collective. A documentação está hospedada em go-app.dev e é construída com o próprio go-app. Projetos notáveis criados com go-app incluem Lofimusic.app, Murlok.io e liwasc.