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。