基于Go语言的全栈Web框架,为你编写无聊代码,助你更快构建网站

今日介绍的GitHub项目是「Bud」,它是一个基于Go语言的全栈Web框架。Bud可以为你编写无趣的代码,协助你更快地启动自己的网站。该项目的Star量为2.5k。

基于Go语言的全栈Web框架,为你编写无趣代码,助你更快构建网站

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 directory

Commands:
  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所需要的任何东西。

$ 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服务器。

基于Go语言的全栈Web框架,为你编写无趣代码,助你更快构建网站

Welcome服务器

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
家辉的头像 - 鹿快
评论 共6条

请登录后发表评论