go-on-rails 是一個 Rails 的 generator,已經發布爲 gem,用來在 Rails 項目中集成或是開發 Golang 應用。html
項目地址:github.com/goonr/go-on…。前端
本文不會講述詳細的使用方法,因此先把現有的幾個示例教程放一下:webpack
這個工具的目標用戶首先是 Rails 開發者,想進行 Golang 的學習或者是想在 Rails 項目中集成 Go API。也就是要對 Rails 熟悉,不然可能不少人不會爲了嘗試這個工具來學習 Rails 的。git
接下來主要說一下爲何會有這個 gem,或者說使用 Rails 開發 Go 項目真的有什麼優點嗎?程序員
配置管理。好比經過在 Rails 中對數據庫進行配置,生成的 Go 項目會根據 Rails 的配置生成相應環境數據庫的鏈接配置。一樣,其它的配置也能夠利用 Rails 的配置來共享使用。github
利用 Rails 豐富的工具鏈,好比用 rails db:seed 寫入測試數據,利用 rails console 對數據進行測試等,以及數據庫管理部分的 rails db:* 等操做。web
方便對數據庫進行各類 migrations 的管理,不用手寫 schema,延續了 Rails 程序員開發過程當中對數據庫的操做習慣。數據庫
model 的定義一樣會方便 Rails 開發者的習慣,go-on-rails 會對 association 和 validation 中的大部分生成操做函數。後端
Rails 5.1 中 webpacker 的發佈,更突顯了 Rails 在作「Web 集成開發環境」方面的新能力。更多先後端分離系統的出現,使在 Rails 中集成 Go API 的重複工做量大大下降,只須要修改一下調用的連接可能就完成了一次系統改造。另外,使用 webpacker 能夠很方便的製做前端頁面來調用 Go API。關於如何使用能夠看這裏的教程。ruby
對於某些中小規模的系統,經過在 Rails 中集成 Go API 能夠改善一些接口的性能,而不須要對系統架構進行重構。
go-on-rails 目前還在開發過程當中,歡迎各類參與和 pr。