2012-12-13 42 views
1

深入研究「引導」我的Backbone應用程序的技術,但是我很努力地看到建議的方法如這個:http://ricostacruz.com/backbone-patterns/#bootstrapping_data不只是讓應用程序退後一步,將你的API緊密地耦合到你的前端。Backbone中的遠程API的引導數據

我有一個REST API和骨幹JS的應用程序,就是讓一個服務器端語言DB/API調用,然後輸出JSON對象直接進入的index.php(或其他)的最佳解決方案,

除了將服務器端代碼混入我的JS應用程序之外,是否有更好的解決方案來引導Backbone應用程序?

+0

我同意來自fencliff和dormisher的答案。請注意,您應該引導的唯一數據是絕對必須隨時可用的數據。如果您並不總是需要應用中的數據,請不要引導它。當然,這有些細微差別,但是從一開始就是一個很好的規則。 –

回答

2

我想通過引導你指的是以下情形:

  • 您有一個單頁的應用程序,使用AJAX請求
  • 當頁面初始加載從服務器獲取數據,你的第一件事情應用程序會獲取所有數據
  • 您希望通過在初始請求中包含所有必需的數據來提高啓動速度/用戶體驗

如果是這種情況,除了將初始數據渲染到您的index.php或您調用加載應用程序的html文檔的任何內容之外,您別無選擇。它會怎樣呢?

如果這是一個不可接受的解決方案,您應該嘗試通過其他方式優化加載。

1

說實話,無論如何,幾乎所有情況下,需要數據操作的有用骨幹JS應用程序都會連接到您的後端。只要你寫:

var myModel = Backbone.Model.extend({ 
    url: '/api/MyModel' 
}); 

你說:「你用我的端點,以獲取/更新/創建的數據,因此,你不能對自己的工作」。因此,無論您將數據寫入服務器上的頁面並將其注入到Backbone模型中,還是在加載頁面後檢索數據,您基本上都在做同樣的事情。

如果我是你我不會擔心!畢竟,你打算從你的後端解除你的客戶端應用程序,並以某種方式將它粘在另一個後端?我會說這種事情發生的機會或者那麼短暫,無論你是通過將JSON寫入服務器上的頁面來引導數據,它肯定是最小的變化。