要为大规模应用程序构建api,哪种方法是更好的性能,我应该使用Rabl,Jbuilder还是手动构建json对象?我正在为移动应用程序构建api /端点。
答案 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的核心开发。因此,在升级时,它可能不会产生问题。