16

希望有人能幫助清理我的東西。Javascript框架與導軌

我一直在讀一噸左右,新的JavaScript應用程序框架存在,Backbone.js的,batman.js,ember.js等等

而且我看到很多使用他們的實例在Rails之上的框架。

有人可以向我解釋。這不需要大量重複以便使用它們嗎?即。我是否需要完全複製每個模型和控制器?如果是這樣,我是否需要每次都進行更改?

我看到在瀏覽器上呈現模板的好處,但我覺得我錯過了一些重要的事情,當涉及到在已經組織良好的MVC結構上使用它們時。

有什麼好處,是否真的有像重複一樣?

我讀過這個問題here

但它似乎並沒有解決重複。

在此先感謝。

+2

我的看法與OP相同。軌道建設的方式,缺少的一塊lego會是資產隊列中的一些中間件,它會根據慣例和軌道原則爲您提供與模型,控制器和視圖相當的JavaScript。這和一些機制可以在需要的情況下覆蓋這些。 我真的沒有看到在維護和同步rb模型和JavaScript中非常相似的東西的樂趣。這需要的功能非常明顯,我相信有人會爲此提出一個很好的解決方案。在此之前,我坐下來監視情況:) – Jan 2012-10-16 13:34:58

回答

8

好處在您鏈接到的問題中描述。當你的客戶端不僅僅是簡單地顯示數據並用AJAX重新加載視圖的一部分時,它們提供的結構很難實現。

Andrew Dupont給出了關於編寫可維護的JavaScript的presentation at MIX 11。他描述了他從一堆垃圾的JS到更易維護的代碼庫的旅程。值得一看。

重複取決於你在服務器端做了多少。如果您的服務器僅提供數據,例如Rails控制器提供一個JSON API來訪問模型,你必須在客戶端複製模型。

我正在使用Rails只爲JSON訪問來堅持我的應用程序的實體,除了一些JSON視圖。整個用戶交互和CRUD發生在具有Backbone & jQuery的客戶端上。

到目前爲止,我只需要在Javascript中複製模型,並創建一些控制器來訪問和保存服務器上的模型。

+0

感謝您對wieczo的迴應。我將不得不進一步研究在典型的CRUD情況下使用Rails控制器和骨幹控制器的程度。 – Adam 2011-12-31 01:52:07