1
是否有任何noticable性能差異之間:服務器端VS客戶端渲染模板性能?
在服務器端完全呈現模板,只是將IT作爲一個靜態的HTML到客戶端。
VS
使用框架,如AngularJS它通過Ajax調用加載數據在客戶端上呈現模板。
示例用例可以加載100條評論的博客列表。 (我不確定這是否是這個問題的最佳用例)。這可以通過獲取JSON數據然後將其傳遞給控制器,然後使用數據綁定呈現視圖來在Angular中完成。對於靜態頁面,這可以在服務器上完全呈現並直接在客戶端上提供。
我考慮下面的事情要考慮性能差異:
- 對DOM樹插入新的節點所需的時間。 (在角度的情況下)
- 花費時間來應用CSS樣式。
- 請添加其他我錯過了的東西。
我想說的兩種方法之間的主要區別是,所有的內容都在服務器端呈現時瀏覽頁面的人可用,但頁面使用AngularJS方法加載VS更快的加載時間需要更長時間,但對於使用Ajax獲取的內容稍等幾秒鐘。角度呈現數據的時間我會說是可以忽略的。一旦數據加載完畢,AngularJS可能會更快,例如獲取新數據,因爲您不必刷新整個頁面等等。應用CSS是在客戶端完成的嗎? – Arg0n
另外,根據有多少用戶在使用您的網站,您可能會通過在客戶端中進行渲染來獲得一些性能,從而減少服務器的負載。當然,用戶使用客戶端方法獲得的性能更依賴於他們擁有的計算機。 – Arg0n
如果您正在爲常規用戶構建常規站點,那麼現代機器通常非常強大,並且渲染100條評論沒有問題。但是,如果您的目標用戶是非典型的,例如,如果您希望目標用戶使用舊機器和舊瀏覽器,則可能需要服務器端渲染以確保良好的性能。 – igor