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

时间:2012-09-24 19:23:53

标签: ruby-on-rails json api rabl jbuilder

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

2 个答案:

答案 0 :(得分:17)

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

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

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

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

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

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

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

答案 1 :(得分:0)

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