今日介绍的GitHub项目是「Bud」,它是一个基于Go语言的全栈Web框架。Bud可以为你编写无聊的代码,帮助你更快地启动自己的网站。该项目的Star量为2.5k。
GitHub主页
项目地址:https://github.com/livebud/bud
关于创建Bud的初衷,项目作者表示两年前,当看到人们在Laravel(一种开源PHP Web应用框架)中的生产力时,便开始着手创建该项目。
作者想要为Go语言提供相似的框架,于是决定尝试为Go生态系统创建属于它的Laravel。但是,6个月后的第一个版本需要搭建多个文件才能启动。如果你使用过Rails或Laravel框架,则会认为这很正常。
不过,作者已经被Next.js等启动准系统的前端框架的复兴惯坏了,你添加的每个文件都会逐步增强自己的Web应用。这样可以控制初始复杂性。
有了这个额外的灵感,作者在接下来的18个月里致力于下一次更新迭代。Bud的目标如下:
- 仅在需要时生成文件。让这些生成的文件远离你的应用代码,并让开发者可以选择将它们排除在源代码控制之外。你不需要担心生成的代码。你可能会惊讶地发现,Go也能生成代码并将这些Go代码转换为可执行文件。Bud应有此功能。
- 感觉像在使用现代JS框架。这意味着它应该与Svelte和React等多个现代前端框架一起使用,支持实时重新加载,并具备服务器端渲染功能以获得更好的性能和SEO。
- 从第一天起就可以扩展。我们需要一个社区来支持该框架。可扩展性应该主要通过添加代码而不是添加配置来驱动。
- Bud应为开发者提供高级、类型安全的API,同时在后台生成高性能、低级的Go代码。
- Bud应该编译成一个包含你的整个Web应用程序的单个二进制文件,并且可以复制到一个甚至没有安装Go语言的服务器上。
安装Bud
Bud作为单个二进制文件可以在Linux和Mac操作系统上运行。最简单的启动方法是在你的终端上复制并粘贴以下命令。
$ 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 directoryCommands: build build the production server create create a new project run run the development server tool extra tools version Show package versions要求(Requirements)
使用Bud的软件要求如下:
- Node v14+:这是我们计划在v0.3中删除的临时要求。
- Go v1.16+:Bud严重依赖io/fs,并在将来充分利用泛型(generics),所以虽然Go v1.16可以工作,但建议升级到Go v1.18+。
你的第一个项目
安装Bud之后,你可以构建一个新项目了。
$ bud create hello$ cd hello如下创建命令将为你构建启动bud所需要的任何东西。
$ lsgo.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服务器。
Welcome服务器
声明:以上内容来源于网络,如有侵权请联系我们(123@shiyan.com)删除! |