Ruby 面向角度前端的后端应用技术

Ruby 面向角度前端的后端应用技术,ruby,node.js,angular,Ruby,Node.js,Angular,如果这个问题太开放,我道歉。但我正在努力获得一些原则,以便开始深入研究这个问题 我计划用这个种子构建一个相当小的演示应用程序(基于Angular 2): 我想在一个有角度的UI中呈现一些保留在后端Redis数据库中的基本数据 我试图找出我应该使用哪一个应用程序层来介于Redis和Angular UI之间 我目前正在考虑使用Ruby(只是因为我对它稍有熟悉)或Node.js 部分原因是我对Node.js和Angular 2之间的关系感到困惑,我想知道使用节点代码是否能帮助我更好、更容易地与Angu

如果这个问题太开放,我道歉。但我正在努力获得一些原则,以便开始深入研究这个问题

我计划用这个种子构建一个相当小的演示应用程序(基于Angular 2):

我想在一个有角度的UI中呈现一些保留在后端Redis数据库中的基本数据

我试图找出我应该使用哪一个应用程序层来介于Redis和Angular UI之间

我目前正在考虑使用Ruby(只是因为我对它稍有熟悉)或Node.js

部分原因是我对Node.js和Angular 2之间的关系感到困惑,我想知道使用节点代码是否能帮助我更好、更容易地与Angular(而不是Ruby)集成

除了使用相同的语言/语法(js),我有一种直觉,我可以更轻松地运行一个节点“app.js”文件,其中包含一些从Redis读取的琐碎业务逻辑,并将结果传递给Angular应用程序。至少我可以在运行Angular应用程序的同一http实例上运行app.js逻辑(我的假设)

如果我想使用Ruby,我必须使用一些web框架(例如Rails或Sinatra)来服务来自Angular应用程序的请求(例如,在Angular中,我必须调用
http://myrubysrv/applogic

除了语言和这个部署细节之外,我只是想知道如果我使用Node,将变量从应用程序逻辑组件传递到Angular应用程序是否会更容易,或者无论我使用Node还是Ruby,努力的程度是否会完全相同


谢谢

Angular对您使用的后端是不可知的。只需从RUby或Node+Expres后端公开REST端点。无论如何,客户端都将使用类似以下内容:

http.get("/products").subscribe(...)
请查看以下代码示例,其中Angular与节点对话:

您在这里确实有一些选择。Angular 2+应用程序编译成本质上只是一个
index.html
,它将处理其他必要视图的加载。因此,您只需要能够为
index.html
文件提供服务的东西,并且您的应用程序API可以完全独立于您的服务应用程序。根据您的托管方式,这里有很多选项(例如,在Heroku上托管前端和后端的GitHub页面)

Rails使设置一个只使用API的应用程序变得轻而易举,并且与Redis配合得很好。我想说,这绝对是最简单的选择;如果您确实需要将特定于环境的配置传递给Angular应用程序,那么在启动时有一些方法可以做到这一点

Node始终是一个不错的选择,但我从未使用过Node Redis,因此我无法告诉您出现的问题。我还可以说Rails可能会更容易。 不过,它主要支持Node,另外唯一受支持的平台是.NET。如果您想使用或弄乱Universal(超级酷的东西),则需要Node,至少在为应用提供服务时是这样


如果您正在寻找学习机会,Node还将为您提供一个在Angular之外温习打字稿排印的机会。

我的观点:由于Angular与中间层的整合在大多数情况下都是通过REST调用实现的,您的选择是完全开放的。很难说哪一个最好,因为这取决于您的个人情况。p很可能,节点选项最近获得了如此多的关注,是因为后端和前端共享一种语言及其简单性。您的问题不适合这样做。太多的未知信息,因此我们只能假设和猜测未知信息,然后尝试给出广泛的答案。详细的答案也是如此,特别是详细的答案我们讨论的是编程问题。你问的是架构,架构的确涉及到了,但代码是重点。做更多的研究,然后尝试一些事情,然后问你所写代码的问题。