PushupGo Web 框架
Pushup 是一个实验性的新项目,使用 Go 创建现代、面向页面的 Web 应用。Pushup 旨在探索使用 Go 轻松构建面向页面的服务器端 Web 应用程序。
Pushup 主要包含以下功能:
- 固定的 project/app 目录结构,支持基于文件的路由 (file-based routing)
- 可替代传统 Web 框架目标的轻量级标记语法 (lightweight markup),将用于控制流的 Go 代码和命令式、类似视图控制器的代码与 HTML 标记相结合
- 解析上述标记语法并生成纯 Go 代码的编译器 (compiler),在 Go stdlib
net/http
包之上构建独立的 Web 应用程序
示例代码
^import "time"
^{
title := "Hello, from Pushup!"
}
<h1>^title</h1>
<p>The time is now ^time.Now().String().</p>
^if time.Now().Weekday() == time.Friday {
<p>It's Friday! Enjoy the start to your weekend.</p>
} ^else {
<p>Have a great day, we're glad you're here.</p>
}
File app/pages/hello.up → /hello URL path
Pushup 示例应用的目录结构
/path/to/mypushupapp
├── layouts
│ └── default.up
├── pages
│ └── index.up
├── pkg
│ └── app.go
└── static
├── app.css
└── htmx.min.js
评论