在 Rails 中分离后端和前端服务器
Posted
技术标签:
【中文标题】在 Rails 中分离后端和前端服务器【英文标题】:Separating back end and front end servers in Rails 【发布时间】:2016-12-02 07:19:13 【问题描述】:我正在开发具有独立前端和后端服务器的现有应用程序。两者都是 Rails 服务器前端和后端。
两个 Rails 服务器的目录结构相同,但有一些主要区别。那些是
前端没有 database.yml,迁移文件,没有模型,后端没有视图。 控制器代码或文件不同。 路线和宝石是不同的。现在的想法是前端将向后端发送请求以获取 Json 格式的数据。
问题 - 完成此任务的最佳方法是什么?
1) 在两台服务器上运行 Rails 应用程序的两个副本(前端和后端),然后通过 HTTP(或连接到远程数据库)在 POST/PUT 信息之间进行调用是否是个好主意?
2) 为此使用 Rest 客户端是个好主意吗?
如果有人可以为此提供一个好的指南或参考,那就太好了。
【问题讨论】:
【参考方案1】:如果您已经从后端服务器公开了 JSON API(Restful API),则使用 rails 服务器仅用于渲染视图不是一个好主意。
正如您提到的,您正在尝试使用 RESTful Web 服务开发三层架构。有许多前端客户端技术可用于实现您的目的。
1. Angular2
AngularJS web 框架的第二个版本。 Angular 2 采用基于 Web 组件的方法来构建强大的 Web 应用程序。它与提供对 ECMAScript 5、ECMAScript 6 和 ECMAScript 7 支持的 TypeScript 一起使用。
更多信息:https://angular.io/
2。 ReactJS
React 是一个用于构建用户界面的 javascript 框架。它使用了一种声明式范式,可以更轻松地推理您的应用程序,并旨在高效和灵活。 React 最初在 Facebook 内部开发,现已开源,并继续由 Facebook 和开源社区开发和维护。
更多信息:https://facebook.github.io/react/
3.奥蕾莉亚
Aurelia 是下一代 JavaScript 客户端框架,它利用简单的约定来激发您的创造力。
更多信息:http://aurelia.io/
还有更多可用的技术:Polymer.js, Backbone.js, Meteor
希望有帮助!
【讨论】:
以上是关于在 Rails 中分离后端和前端服务器的主要内容,如果未能解决你的问题,请参考以下文章