Rabl,Jbuilder还是用于api的手动json构建?

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

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

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

一般来说,您应该考虑其他一些事项。

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

  • Jbuilder曾经有相当糟糕的表现,但是在这个问题首次发布的同时,这个问题得到了很大改善。 在此之前,RABL的表现更为出色。 在这一点上,Jbuilder的触控速度更快。

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

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

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