我一直在使用Ruby on Rails一年多一点,而且我总是以一种随意的方式来做,我的意思是,所有东西都放在一个地方(正面和背面),使用标准{{ 1}}文件由关联的控制器方法填充。
否则,今天在我们的项目中,由于多种原因(代码可维护性/清晰度,更好的架构,更多反应性等等),我需要将前端和后端分开。
我已经完成了很多researches,观看了一些会议(1,2,3),但还没找到我的解决方案。它看起来像是一个经常出现的问题,但是将Ruby on Rails应用程序的后端和前端分开的最佳实践/工具是什么?
我觉得我们还不需要像React / EmberJS / Angular / etc这样庞大的JS框架......
首先,我考虑使用Middleman / Jekyll之类的内容,并通过JSON和API调用进行通信,但似乎它不适合动态网站。
那么是否有一个前端框架适用于Rails API,并且易于维护和升级(像gems一样添加功能/扩展)?
感谢您的见解。
答案 0 :(得分:0)
我有一个与该问题的评论者类似的设置。
我主要使用Rails只用于项目结构,定义一些页面布局,以及用于ActiveRecord。
然后我使用Grape API框架定义了我的JSON API。
我有一个SPA,写在AngularJS上,它位于公共/文件夹中。它也是我的移动应用程序的两倍,通过phonegap实现。如果我的Angular应用程序没有成为我的移动应用程序的两倍,我可能只是使用资产管道来提供SPA。为了弥补这一点,我在Grunt中编写了一个单独的构建任务,以便在我将其部署到生产环境之前缩小/ uglify我的JS / CSS资产。
我还在我的静态内容页面上使用了Comfortable Mexican Sofa。
为了把事情做对,需要一些试验和错误,但总的来说,我发现这个设置很适合我。
答案 1 :(得分:0)
我的一位朋友在Rails上写了这篇很棒的文章/教程作为后端API。
http://blog.launchacademy.com/the-basics-of-building-an-api-in-ruby-on-rails/
与Rails / Ember.js上的本教程一样
https://github.com/diegodesouza/Project-Planner-EmberJS
您可以了解它是如何完成的,并实现您首选的前端框架。
希望它能够对这个问题有所了解。