8

要为大型应用程序构建 api,哪种方法在性能方面更好,我应该使用 Rabl、Jbuilder 还是手动构建 json 对象?我正在为移动应用程序构建 api /endpoints。

4

2 回答 2

17

在性能方面,您应该尝试创建一些基本的性能测试,并对其进行分析。

假设您的应用程序模型关联中最复杂的部分是您在响应能力方面的最薄弱点,并围绕它设计您的测试。

一般来说,还有一些其他的事情你应该考虑。

  • as_json覆盖将很快在您的模型中失控,并成为您应用程序的脆弱部分。许多人将 API 视为一种视图,因此它的逻辑应该与模型分离,以保持灵活/可互换和可测试。这是 JBuilder 和 RABL 的主要优点。最终,即使是一个简单的 JSON apias_json在需要扩展时也会请求重构,因此学习/使用 DSL 的初始复杂性可能值得。也就是说,在某些情况下使用它是完全可以的,as_json您只需要注意可伸缩性和维护方面的问题。

  • Jbuilder 过去的性能很差,但是在这个问题首次发布的同时,它得到了很大的改进。在此之前,RABL 的性能更高。在这一点上,Jbuilder 快了一点。

  • RABL 的 DSL 通常不如 Jbuilder 受欢迎,它可能在入门和后期维护中都存在困难。一般来说,Jbuilder 的 DSL 更简单,更容易学习/使用,在这两种情况下都是 YMMV,但普遍的共识似乎是 Jbuilder 更容易上手和运行。

由于这个问题是 5 个月大,抱歉我没有早点看到它,我希望早就做出决定。

于 2013-02-22T00:55:09.777 回答
0

我建议 Jbuilder。因为Jbuilder有Rails的核心开发。所以在升级时它可能不会产生问题。

于 2013-12-06T12:28:33.117 回答