【发布时间】:2015-10-10 08:01:33
【问题描述】:
我已经使用 Ruby on Rails 一年多了,我总是以一种随意的方式使用它,我的意思是,一切都在一个地方(正面和背面),使用标准 .html.erb由相关控制器方法填充的文件。
否则,今天在我们的项目中,出于多种原因(代码可维护性/清晰性、更好的架构、更多的反应性等......),我需要将前端和后端分开。
我已经做了很多researches,观看了一些会议(1、2、3),但还没有找到我的解决方案。这似乎是一个经常出现的问题,但是将 Ruby on Rails 应用程序的后端和前端分开的最佳实践/工具是什么?
我觉得我们(还)不需要像 React/EmberJS/Angular/etc 这样的大型 JS 框架......
首先我在想Middleman/Jekyll 之类的东西,并通过 JSON 和 API 调用进行通信,但对于动态网站来说,这似乎不是一个好的解决方案。
那么有没有一个前端框架可以很好地与 Rails API 配合使用,并且易于维护和升级(像 gems 一样向它添加功能/扩展)?
感谢您的见解。
【问题讨论】:
-
对于我目前从事的项目,类似 API 的后端基于 Grape(Ruby 的类似 REST 的 API 微框架),它很好地补充了 Rails,前端是 Angular。通信是通过 API 调用和 JSON 响应完成的。虽然我不太确定 Angular 作为前端的效率,但我建议您将 Grape 视为后端的一个不错的选择,这要归功于它的可读性和可维护性。
-
另一种选择是使用 rails-api,它是 rails 的剥离版本,作为葡萄的替代品。
标签: ruby-on-rails frameworks jekyll frontend middleman