為什麼要做node js服務端渲染?

時間 2021-05-05 15:16:47

1樓:我是老尚

這其實是乙個工作場景不斷「前移」的過程。

最早期的頁面只是html、css,後來內容都是直接套在php、jsp裡的。但這樣速度很慢,並且在架構上存在緊耦合。

後來把頁面的渲染生成放在js裡,前端只要獲得Json資料,就可以動態的更新頁面,這就是ajax。這時前端頁面的更新、響應速度有了極快的提公升。而且架構上實現了一定程度的松耦合。

這時,前端管view層的顯示,後端負責data的處理和生成,還有一些核心底層的業務邏輯。

但是隨著業務的不斷複雜,後端提供的資料介面不能涵蓋所有的業務場景。總有一些資料是需要前端再處理的,但是因為js是執行的瀏覽器裡的,這樣不安全。

所以就需要乙個前端可以操作的後端場景,這就是nodeJs中介軟體。從後端請求來的資料,在node中介軟體裡進行再處理,然後再推送到頁面上。這就是服務端渲染。

這其實是前後端分工的再劃分,

早期是頁面的分離,html、css、js的;

然後是邏輯的分離,互動歸前端,資料歸後端;

現在是資料的分離,view層對資料的操作、使用歸前端,後端只管底層的業務邏輯,什麼併發、執行緒、鎖、資料庫等等。

所以現在有大前端的概念,就是從資料的層面上,對前後端的分工進行了再劃分。

2樓:秋風

最主要的還是 seo 和首屏速度。

與傳統的渲染模式相比,從頁面上來說其實沒有啥區別,該渲染成啥樣就渲染成啥樣。

但是新的開發模式,帶動的是開發效率的提公升(同時也增加了弊端,需要多維護一層 node 伺服器)。解決了原本寫 jsp 頁面的模式是整個頁面的資料檢視邏輯,以及前後端都是混雜在一起的難以維護,這也是前後端分離的原因。

其實這也不是有乙個好不好的問題,關鍵是收益。

如果你們公司的體量非常巨大,對於極致的要求非常高,並且團隊有多餘的全棧工程師,可以考慮 + 一層 Node 服務,這樣 Node 層的維護可以得以保障(Node 層維護要包括 Node服務的治理,監控,擴容等等問題,嗯,可能還得安排專人來值班。。。)。

如果你們公司體量一般,團隊也沒有人手,那麼加上一層 Node 服務,無疑是雪上加霜。

所以可以總結為:(當然還要考慮團隊後續維護發展,ps: 如果你沒有考慮這麼遠,活在當下,直接幹吧。。。)

維護 Node 層成本 + ssr前端開發成本傳統模板開發成本(jsp,nunjucks等模板

哪個成本低就選擇哪種方式咯 :)

3樓:happy he

臉書大部分服務頁面都是伺服器端渲染。效能好,寫起來快,hack直接返回react component。

比如你需要寫乙個網頁,只需要寫乙個class就夠了。這個class直接返回react。如果用客戶端渲染的話可能要寫乙個react class以及多個api。

寫起來很麻煩,而且多個api會讓使用者等待更長的時間。

4樓:lellansin

入行第乙份工作是 PHP(後來轉了 Node)。第一次聽到用 Node.js 做服務端渲染的時候一臉 exo 的感覺。(印象中,像 jsp、asp 都是借鑑自 PHP 的)

後來想想, 7、8 年前 PHP 在國外會被叫做前端。某種程度上來說還是很有道理的。那麼問題來了,如果是那種前端的工作,你讓前端選擇用 PHP 還是用 Node.js 呢。

5樓:張家澍

個人感覺是現在前後端的劃分已經變了。

最早在使用者電腦上跑的就是前端,在伺服器上跑的就是後端,當時前端能做的事情是比較少的。但是隨著技術(js)的發展,前端能做的事情越來越多,人們發現很多原來需要在伺服器做的工作可以放到前端來做,出現了客戶端渲染。這種情況下服務端渲染和客戶端渲染其實在做類似的工作,也漸漸變成了類似前端的活,對他們來說選擇一種最熟悉的語言放到伺服器去跑就是很自然的事情了。

6樓:

匿了。吐槽一下所謂的服務端渲染。

我最早聽到的服務端渲染案例,來自阿里,他們當時說雙十一的時候,應用了服務端渲染,帶來了極佳效能,極大的自由度等等。後來發現當時的一些人過度吹噓所謂的服務端渲染,這個服務躲在CDN後面,負責渲染部分模板,相關的內容,感興趣的小夥伴可以在知乎上搜到。

對於服務端渲染,我個人是比較牴觸的,有兩個重要原因。

一是到目前都沒有看到國內外的大公司,把他訪問量大的主要業務使用服務端渲染的方式提供,沒有乙個比較有參考性的案例。

第二,服務端渲染對於前端而言比較困難,主要是可維護性,複雜度等等,加重了前端的負擔; 同時,也不是所有前端同學有伺服器端相關的知識; 想要解決白屏,seo等問題,完全可以考慮預渲染的方案。以上。

node js不就是服務端渲染嗎?next js和nuxt js的運用是什麼呢?它們的區別是什麼?

召伯樹 nodejs 是乙個執行 js 的環境,它有 io 的模組可以訪問本地的檔案,有 http 模組可以處理請求。但是服務端渲染讀模板,綁資料,到返回 html 都需要你自己去實現。以前的服務端渲染的方式是每次資料更新的時候重新整理頁面重新傳送 html 去客戶端更新資料,nuxt.js 並不是...

為什麼現在又流行服務端渲染html?

以下只為個人看法 描述之前先鋪墊幾個概念 TTFB 首位元組到達時間,是頁面載入效能比較重要指標,對於使用者感知不大,主要針對研發人員,表示網路後端的整體響應時長。FP 首次螢幕繪製。FCP 首次內容繪製,對應使用者是有感知的,可算可以看到點東西。TTI 可互動時間。從服務端生成html 如serv...

c 遊戲服務端程式設計有什麼書籍推薦嗎?

青玉白露 這裡推薦兩本,一本是Linux高效能伺服器程式設計另一本是Unix網路程式設計。看完這兩本書就可以考慮自己寫乙個web伺服器了,下面是乙個教程,可以學習一下 青玉白露 TinyWebServer 從0到伺服器開發!做了上面的這個專案之後,回答一些面試題 青玉白露 Tinywebserver...