2012-02-17 68 views
1

我開始在Ruby on Rails中創建Web服務。一段時間後,我發現了一些令人驚訝的JavaScript框架:Javascript框架中的模型

  • 骨幹
  • KnockoutJs
  • SproutCore的
  • BatmanJs
  • 等。

這是否JS框架,數據庫保存用戶信息(Model?),它們是創建面向用戶的Web應用程序的良好解決方案嗎?

回答

2

簡短的回答是肯定的,JS框架將數據保存在模型中。

JS框架是好的解決辦法,如果:

  • 你能夠使用它們的 - 不是直接的回報率更困難!
  • 你將它們應用到正確的任務(例如:複雜的前端,實時互動)

有很多炒作過的js框架和工具,所以一般是學習他們一個好主意 - 儘管承諾不是微不足道的。

要回答你的問題,首先你需要Ruby與JS一起生成有意義的應用程序。也就是說,backbone.js和其他人將數據保存到模型中,方法是將json對象傳遞給RoR資源,然後將數據保存到後端(SQL或noSQL)。因此,您的JS模型將保存數據,並且您還需要使用RoR模型才能正常工作(這可能很簡單,只能將數據庫公開爲http資源)。

2

它們純粹是客戶端框架。這意味着他們只向用戶顯示數據,並在瀏覽器中進行操作。任何更改都不會自動推送到數據庫。這取決於你創建某種保存按鈕,將數據發回到你的服務器,在那裏處理,驗證和保存在你想要的任何數據庫中

3

你提到的框架通常會保留你的數據的表示內存作爲模型。爲了讓保存在數據庫中的數據必須管理框架和服務器上的模型之間的通信。主幹使用RESTfull http請求。如果您想要,您可以重寫Backbone.sync,以便將同步調整爲由您的服務器管理的模型。

它們是創建Web應用程序的非常好的解決方案,但是對於小型項目來說,它們可能是過度殺傷性的。雖然你提到的框架存在差異(例如SproutCore,現在稱爲emberjs,迫使你堅持自己的風格,Backbone讓你決定更多),但他們真正做的是幫助你構建你的javascript項目。

+0

只是爲了澄清,ember.js現在是一個獨立的Sproutcore框架,它仍在開發中。 – hvgotcodes 2012-02-17 14:55:48

+0

沒錯,謝謝澄清 – joidegn 2012-02-17 15:23:11