我從服務器獲取一些數據,我在客戶端上使用GWT顯示。應該在哪裏進行數據分類?服務器或客戶端?
GWT在這裏不是問題,你可以用ajax調用代替GWT,或者你可以將它轉換成一個真正的應用程序,而不是一個web應用程序。
應該在哪裏進行排序操作?在服務器上?或者在使用javascript的客戶端上,在收到數據並顯示之前?
我從服務器獲取一些數據,我在客戶端上使用GWT顯示。應該在哪裏進行數據分類?服務器或客戶端?
GWT在這裏不是問題,你可以用ajax調用代替GWT,或者你可以將它轉換成一個真正的應用程序,而不是一個web應用程序。
應該在哪裏進行排序操作?在服務器上?或者在使用javascript的客戶端上,在收到數據並顯示之前?
每一個方法都有其優缺點:
所以,我們可以回顧一下:如果不需要通過用戶操作進行排序(僅限javascript),那麼在服務器上進行排序會更好(大多數情況下,我聽說過有關性能的說法) ? –
是的,如果用戶不能重新排序,那麼我通常會在服務器上預先排序。 –
如果您使用的是SQL數據庫(其中任何一種:MySQL,MSSQL等),那麼應該在從數據庫中檢索數據時進行排序,而不是使用代碼,尤其是不使用JavaScript。
SELECT *
FROM databasename
ORDER BY id DESC
這是一個體面的參考。短簡單和重點: http://www.w3schools.com/sql/sql_orderby.asp
SQL數據庫高度優化,以執行這些類型的功能,並會給你最好的性能和最少的問題。使用服務器端腳本執行這些操作過於集中,並且出於多種原因,使用Javascript執行這些操作客戶端是不好的。
是它的def。服務器適當的情況 –
我覺得你應該在客戶端做它,因爲我認爲,如果有10000個需求,那麼你的服務器將不需要至少10000次排序。
理想的情況下,排序應在服務器上完成,因爲: -
這是最好的,認爲你的客戶端將被具有低資源。例如,有些人會從桌面啓動GWT應用程序,但另一些人可能會從具有較少CPU/RAM的iPad /電話啓動GWT應用程序。
有一些標準的方法可以在服務器端進行排序:例如,通過使用SQL ORDER BY子句,但您可能必須實現自己的例程/方法來在客戶端執行排序。
那麼,排序例如即使在最慢的客戶端上,客戶端上的100行速度也非常快。發送另一個請求的資源使用率高出* x *倍。 –
同意,似乎最好分析/調查有多少行和需要多少次排序,然後決定應該在哪裏進行排序。 – Anuroop
這取決於... :)
從結構上講,要回答這個問題,您需要確定系統中所需的屬性並評估各種設計方案之間的權衡。不知道更多關於你的系統的信息,除此之外很難提供建議。
我喜歡用ajax做,並解析客戶端上的json響應。 –