Repolode
maxence-charriere

maxence-charriere/go-app

一个用 Go 和 WebAssembly 构建渐进式 Web 应用(PWA)的包,UI 完全用 Go 声明式编写。

Star
8,973
Fork
406
未关闭 Issue
52
最近提交
昨天

这是什么?

go-app 让开发者用 Go 语言构建渐进式 Web 应用。界面由可复用的组件构成,直接在 Go 代码中创建和组合 HTML 元素,前端不需要单独编写 JavaScript 或模板语言。Go 代码会被编译为 WebAssembly 在浏览器中运行。

该包遵循 Go 标准的 net/http 模型,应用可以像普通 Go Web 服务器一样通过 http.Handle 和 http.ListenAndServe 提供服务。基于它构建的应用可以在独立窗口中运行、支持离线模式,并且对 SEO 友好。组件之间的路由通过 app.Route 配置。

项目要求 Go 1.18 及以上版本,以 Go 模块方式安装。官方文档站 go-app.dev 提供声明式语法说明和入门指南。

核心功能

  • 01使用 Go 语言以声明式、组件化的方式编写全部界面。
  • 02将 Go 代码编译为 WebAssembly,在浏览器中运行。
  • 03遵循 Go 标准 net/http 接口提供应用服务。
  • 04支持离线模式,并可作为 PWA 在独立窗口中运行。
  • 05通过 app.Route 实现组件路由。

适用场景

  • 团队希望全部使用 Go 编写代码时,构建 Web 或 PWA 前端。
  • 开发可安装、支持离线、同时需要被搜索引擎收录的 Web 应用。
  • 在后端服务和浏览器端界面之间共享 Go 类型和逻辑。

快速上手

  1. 1

    在项目文件夹中初始化 Go 模块

    go mod init
  2. 2

    安装 go-app 包

    go get -u github.com/maxence-charriere/go-app/v11/pkg/app
  3. 3

    按照 go-app.dev 上的入门指南构建你的第一个应用

标签

常见问题

go-app 是什么?
一个用 Go 和 WebAssembly 构建渐进式 Web 应用(PWA)的包,UI 完全用 Go 声明式编写。 go-app 让开发者用 Go 语言构建渐进式 Web 应用。界面由可复用的组件构成,直接在 Go 代码中创建和组合 HTML 元素,前端不需要单独编写 JavaScript 或模板语言。Go 代码会被编译为 WebAssembly 在浏览器中运行。
go-app 可以免费使用吗?用的什么许可证?
go-app 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
go-app 还在维护吗?
活跃维护中。go-app 最近一次提交是在 2026年10月21日。
go-app 适合用来做什么?
团队希望全部使用 Go 编写代码时,构建 Web 或 PWA 前端。 开发可安装、支持离线、同时需要被搜索引擎收录的 Web 应用。 在后端服务和浏览器端界面之间共享 Go 类型和逻辑。
go-app 怎么安装和运行?
在项目文件夹中初始化 Go 模块: go mod init 安装 go-app 包: go get -u github.com/maxence-charriere/go-app/v11/pkg/app 按照 go-app.dev 上的入门指南构建你的第一个应用
在哪里获取 go-app?
源代码和安装说明在 GitHub 上:https://github.com/maxence-charriere/go-app

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目