2011-12-06 63 views
1

我正在尋找一個web服務。用戶如何與此服務交互的簡單示例是用戶註冊。用戶可以打這個服務來創建一個賬戶(如果他們是移動的)。另一方面,用戶可以使用服務登錄(從移動應用程序)到應用程序。現在這個服務是針對現有的rails應用程序的。我的計劃是在這個rails應用程序中構建一個sinatra應用程序,並作爲一個rails引擎裝載:這個應用程序將與我現有的rails模型進行交互以產生/消耗適當的json。這會是一個好方法嗎?有沒有人試過這個?謝謝。Sinatra vs Rails for webservice

回答

2

我已經使用了這種方法:Rails w/Sinatra路線。如果你正在提供一個RESTful api,我也會建議看看類似Sintra的api框架GrapeThis link顯示瞭如何在Rails應用程序中安裝Grape。祝你好運。

2

「不成熟的優化是萬惡之源。」

只有在需要速度的情況下才能進入Sinatra路線。例如,您的rails應用程序可能會在您想要在移動應用程序中繞過的應用程序控制器中執行大量不必要的計算。即便如此,在我開始Sinatra路徑之前,我會確定它在移動客戶端上響應時間。在響應時間內縮短10毫秒可能並不值得開發者的所有時間,除非您正在開發一款遊戲或其他高度互動的遊戲。

既然你已經有了一個現有的Rails應用程序,只需使用Rails即可。它已經有你需要的大部分代碼。你只需要寫一些JSON視圖。這比平行Rails/Sinatra堆棧更容易維護。

0

我認爲你應該擺脫Rails並忘記它。只需將Sinatra用於您的應用程序,並且只需使用適合您的中間件的純機架即可。

與流行的觀點相反,您可以使用Sinatra輕鬆構建大型應用程序,內部組件可以以您想要的任何方式進行組織。

Rails很慢。爲什麼不爲一切運行快速? Sinatra和純粹的Rack絕對不能做到,它非常靈活。