PushupGo Web 框架

联合创作 · 2023-09-20 01:01

Pushup 是一个实验性的新项目,使用 Go 创建现代、面向页面的 Web 应用。Pushup 旨在探索使用 Go 轻松构建面向页面的服务器端 Web 应用程序。

Pushup 主要包含以下功能:

  • 固定的 project/app 目录结构,支持基于文件的路由 (file-based routing)
  • 可替代传统 Web 框架目标的轻量级标记语法 (lightweight markup),将用于控制流的 Go 代码和命令式、类似视图控制器的代码与 HTML 标记相结合
  • 解析上述标记语法并生成纯 Go 代码的编译器 (compiler),在 Go stdlibnet/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
浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报