Go 的全栈 Web 框架。 Bud 为您编写无聊的代码,帮助您更快地启动网站。
观看视频,演示如何与 Bud 在 15 分钟内构建最小的 HN 克隆。
阅读文档以了解如何开始使用 Bud。
Bud 作为在 Linux 和 Mac 上运行的单个二进制文件提供。您可以关注本期的 Windows 支持。
最简单的开始方法是将以下命令复制并粘贴到终端中:
curl -sf https://raw.githubusercontent.com/livebud/bud/main/install.sh | sh
该脚本将为您的操作系统下载正确的二进制文件,并将该二进制文件移动到$PATH
中的正确位置。
在终端中输入bud
来确认您已安装 Bud。
bud -h
您应该看到以下内容:
Usage:
bud [flags] [command]
Flags:
-C, --chdir Change the working directory
Commands:
build build the production server
create create a new project
run run the development server
tool extra tools
version Show package versions
使用 Bud 需要以下软件。
节点 v14+
这是一个临时要求,我们计划在 v0.3 中删除
去 v1.17+
Bud 严重依赖io/fs
,并且将来会利用泛型,因此虽然 Go v1.16 可以工作,但我们建议如果可以的话运行 Go v1.18+。
安装 bud 后,您现在可以搭建一个新项目:
$ bud create hello
$ cd hello
create 命令将构建您开始使用 bud 所需的一切。
$ ls
go.mod node_modules/ package-lock.json package.json
...顺便说一下,这并不是很多!与大多数其他全栈框架不同,Bud 的起点非常小。当您添加依赖项时,Bud 将生成所有无聊的代码来将您的应用程序粘合在一起。让我们看看实际情况。
使用bud run
启动开发服务器:
$ bud run
| Listening on http://127.0.0.1:3000
单击链接打开浏览器。您将看到 bud 的欢迎页面。
恭喜!您正在使用 Bud 运行您的第一个 Web 服务器。欢迎服务器是您了解有关该框架的更多信息的起点。
查看 Hacker News 演示、阅读文档、安排快速通话或开始您自己的冒险。唯一的限制是你的想象力。
最近的讨论:Reddit、黑客新闻、Twitter
在看到开发人员在 Laravel 中的生产力后,我于 2019 年 4 月开始在 Bud 上工作。我希望 Go 也能做到这一点,所以我决定尝试为 Go 生态系统创建 Laravel。然而,6 个月后我的第一个版本需要搭建许多文件才能开始。如果您来自 Rails 或 Laravel,您可能会耸耸肩并认为这很正常。
不幸的是,我已经被 Next.js 等前端框架的复兴宠坏了,这些框架一开始只是准系统,但您添加的每个文件都会逐渐增强您的 Web 应用程序。这可以控制初始复杂性。
有了这个额外的灵感,我在接下来的 18 个月里致力于下一次迭代。
现在的目标是:
仅在需要时生成文件。让这些生成的文件远离您的应用程序代码,并让开发人员可以选择将它们置于源代码控制之外。您不需要关心生成的代码。您可能会惊讶地发现 Go 还生成代码以将您的 Go 代码转换为可执行文件,但它运行得非常好,您不需要考虑它。巴德应该有这样的感觉。
感觉就像使用现代 JS 框架。这意味着它应该与 Svelte 和 React 等多个现代前端框架配合使用,支持实时重新加载,并具有服务器端渲染以获得更好的性能和 SEO。
该框架从第一天起就应该是可扩展的。对于一个人来说,巴德的野心太大了。我们需要一个雄心勃勃的社区来支持这个框架。可扩展性应该主要通过添加代码来驱动,而不是通过添加配置来驱动。
Bud 应该为开发人员提供高级、类型安全的 API,同时在后台生成高性能、低级的 Go 代码。
Bud 应该编译为包含整个 Web 应用程序的单个二进制文件,并且可以复制到甚至没有安装 Go 的服务器。
请参阅贡献指南了解如何在本地开发 Bud。