要爲大規模應用程序構建api,哪種方法性能更好,我應該使用Rabl,Jbuilder還是手動構建json對象?我正在爲移動應用程序構建api/endpoints。Rabl,Jbuilder或手動json爲api構建?
8
A
回答
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
我建議Jbuilder。因爲Jbuilder有Rails的核心開發。所以在升級時可能不會產生問題。
相關問題
- 1. JSON - 嵌套Rabl的兒童或者JBuilder的Rails的
- 2. 從rspec api渲染jbuilder json規範
- 3. JBuilder JSON Array
- 4. 使用Jbuilder(或其他)的Rails JSON API佈局
- 5. 使用變量名構建rails jbuilder json參數
- 6. 使用Jbuilder構建一個嵌套的JSON請求
- 7. 如何用JBuilder和Rails創建JSON結構?
- 8. 自動構建與手動構建
- 9. Rails - 使用jBuilder創建json文件
- 10. 如何在JBuilder中構建以下to_json?
- 11. 用jbuilder構建多個圖層
- 12. Jbuilder的構建多維數組
- 13. Rabl json集合動態密鑰
- 14. 構建動態JSON
- 15. 將Rabl轉換爲Erb json視圖
- 16. JSON記錄手動創建
- 17. 漂亮打印JSON與JBuilder
- 18. Rails的嵌套JSON(Jbuilder中)
- 19. Jbuilder的 - 陣列,以JSON
- 20. 從JSON軌道4和JBuilder
- 21. 手動構建XML文檔或實現dom接口或...?
- 22. 手動構建KafkaOffsetMonitor工具
- 23. 從SJSIR`手動構建JS`
- 24. SCons手動構建步驟
- 25. 構建手動的OpenCV
- 26. Rails的Rabl的JSON格式
- 27. 在RABL中使用JSON中的助手方法?
- 28. RABL API視圖目錄?
- 29. 與rails 3.2和rabl的API
- 30. 帶RABL的Rails 3 API
偉大的洞察力!謝謝! –
在使用JBuilder比RABL更多的情況下,我應該清楚地說明我也有點偏向它。 – ocodo
因爲我有一個非常基本的API,如果我只是使用一個application_controller.rb與每個API調用的自定義路由,它會不好嗎? –