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。