2014-01-31 31 views
1

我正在研究單一頁面應用程序應用程序,可以全天跟蹤學生的活動。SPA的API - 我應該預先加載所有數據嗎?

當應用程序加載時,會得到一個類的列表(30到50)。當你導航到一個班級時,你會得到班級學生的列表(大約20到25)和其他統計數據。然後,您可以導航到每個學生頁面以查看他們的活動。

我的問題是API相關。預先在一個請求中加載所有數據會更好嗎?這個請求包含所有包括所有學生在內的所有類和統計數據,包括他們的所有統計數據和活動,還是應該按需加載數據?班級頁面上的班級列表,班級X學生列表和X班級頁面上的統計資料等等?

回答

1

嘗試估計千兆字節的數據量,因爲這是移動應用程序的主要瓶頸(您正在構建一個響應式單頁應用程序,對嗎?)。迴應可能介於兩者之間:預先加載班級和學生,然後點擊學生詳細信息。

然後嘗試預測您的用戶的行爲。他們是否更關心整個班級,他們特殊的學生頁面等等。如果班級和學生名單僅用作選擇器來訪問學生頁面,則儘可能少地加載關於他們的詳細信息直到學生頁面。

您的用戶在使用應用程序時是否可以斷開他們的連接?在這種情況下儘可能多地加載。

也考慮使用類型提前搜索框(自動建議)。在這種情況下,您不必預先加載所有數據,但只能在選擇某個項目時加載。

+0

謝謝。實際上,我們正在開發獨立的應用程序:桌面版本和原生移動版本。由於無線連接的不穩定性,移動版本需要所有的數據能夠離線工作,因此以這種方式加載它將是一個好主意。但桌面版本有點不同。你會建議使用不同數量的數據進行類似的調用嗎?例如,使用'GET/classes'來獲取所有的東西,並且使用參數students = 0的'GET/classes'來獲得類的列表? –

+0

當然,應該用參數指定多層次的細節。我不建議爲桌面版或移動版提供不同的API。 – Mart

相關問題