2012-09-24 57 views

回答

17

在性能方面,您應該嘗試創建一些基本的性能測試,並對它們進行配置。

假設您的應用程序模型關聯中最複雜的部分是您在響應性方面最薄弱的地方,並圍繞此設計您的測試。

一般來說還有其他一些事情你應該考慮。

  • as_json覆蓋會很快失控在你的模型,併成爲應用程序的脆性部分。許多人認爲API是一種視圖,因此它的邏輯應該與模型分開,以保持靈活性/可互換性和可測試性。這是JBuilder和RABL的主要優勢。最終,即使是一個簡單的使用as_json構建的JSON api,當它們需要擴展時也會需要重構,所以它可能值得學習/使用DSL的最初複雜性。也就是說,在某些情況下,使用as_json確實可以,只需要注意可擴展性和維護方面的問題。

  • Jbuilder以前的性能相當差,但是這個問題在這個問題首次發佈的同時有了很大的改進。在此之前,RABL的性能更好。此時,Jbuilder更快。

  • RABL的DSL通常不如Jbuilder那麼受歡迎,它可能會很難入門和在以後的維護中。在這兩種情況下,Jbuilder的DSL總的來說都更簡單,更容易學習/使用YMMV,但普遍的共識似乎是Jbuilder更容易搭配和運行。

由於這個問題是5個月大,對不起,我沒有早點看到它,我預計這個決定早就有了。

+0

偉大的洞察力!謝謝! –

+0

在使用JBuilder比RABL更多的情況下,我應該清楚地說明我也有點偏向它。 – ocodo

+0

因爲我有一個非常基本的API,如果我只是使用一個application_controller.rb與每個API調用的自定義路由,它會不好嗎? –

0

我建議Jbuilder。因爲Jbuilder有Rails的核心開發。所以在升級時可能不會產生問題。