node的影響及先後端之爭

做者:知乎用戶
連接:https://www.zhihu.com/question/59578433/answer/326694511
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

這要從大概八年前提及,事情是這樣的php

1 一開始,html 就是後端渲染的。不事後端發現頁面中的 js 好麻煩(雖然簡單,可是坑多),因而讓公司招聘專門寫 js 的人,也就是前端
2 前端名義上是程序員,實際上就是在切圖(CSS)和作特效(JS),因此全部程序員中前端工資最低,職位也最低。因此先後端的鄙視鏈就出現了。
3 nodejs 和前端 mvc 的興起讓前端變得複雜起來,前端發現翻身的機會,因而全力支持這兩種技術,形成本不應作成 spa 的網站也成了 spa。慢慢地先後端分離運動從大公司開始興起,目的就是前端脫離後端的指指點點,獨立發展。(表面上是爲了「代碼分離」,其實是爲了「人員分離」,也就是「先後端分家」,前端再也不附屬於後端團隊)
4 spa 以後發現 seo 問題很大,並且首屏渲染速度賊慢,可是本身選的路再難走也要走下去,因而用 nodejs 在服務端渲染這一條路被當作是一條出路
5 其實這是第二個翻身的機會,若是 nodejs 服務器渲染成爲主流,其實就至關於前端把後端的大部分工做給搶了,工資壓過普通後端指日可待
6 然而結果是 nodejs 服務端渲染始終是小衆,由於後端也沒那麼脆弱,java php rails 十多年沉澱的技術豈是你說推翻就推翻的,已經運行多年的項目又豈是容你隨便用 nodejs 重寫的,另外一方面 golang 等技術的興起也給 nodejs 很多壓力。最終只有少部分前端特別強勢的團隊成功用上了 Node.js 作渲染(好比阿里的一些團隊),大部分公司依然是用 PHP 渲染 HTML。
7 因而 nodejs 退一步說好好好我不搶大家的工做,我只作中間層(大部分工做就是渲染頁面和調用後臺接口),毫不越雷池。後端說算你識相。如今 nodejs 主要搞什麼微服務,也是爲了搶後端還沒注意的市場。html

你要看一門技術的發展主要應該看背後的人是誰,應用場景是哪些,最後纔是技術細節。前端

nodejs 的火在中國早就燒過了,之後估計不會大火了,做爲前端了解一下仍是不錯的,可是若是你是後端的話,看不看都無所謂,nodejs 跟其餘後端開發框架差別並不大,單線程異步既是優勢也是缺點,你就把它當作一種範式研究就好。java

我是一個堅決的『先後端分家』反對者,先後代碼能夠分離,可是人員絕對不該該分離。先後端撕逼的事情在大公司每天都在發生,全都是由於先後是兩個團隊,利益不一樣。實際上前端推 nodejs 渲染就是在試圖從新讓先後端合成一體。node

可是前端不能明說這件事,由於若是要把先後端部門合併,拆掉的確定是前端部門。程序員


合,則至關於自斷前程。
不合,則永遠無法解決seo和首屏加載慢的問題。
因此前端真的挺矛盾的。golang


JS 也有一個矛盾的地方,凡是瀏覽器上的框架(Vue React)都說本身能適應「複雜」場景,凡是 Node.js 上的框架(express fastify koa)都說本身是「輕量級」框架。express

爲啥?由於瀏覽器是 JS 的主戰場,並且無敵手。而服務器上,JS 的經驗積累仍是太少了,搞企業級服務,Node.js 是敵不過 Java、PHP 的,沒辦法,發展得太晚了。因此目前只能搞「輕量級」咯。egg.js 號稱是企業級 Node.js 框架,用過的人來評我就不評了。後端


有些大佬提出「大前端」的概念,意思是前端也要會後端,可是咱們心仍是前端的。瀏覽器

這不就是把之前的『先後端一我的作』換了個說法嘛。

反正你如今讓後端去學前端,後端確定是不肯意躺這渾水的。只能前端本身想辦法咯。

想來想去就只有 Node.js 中間層作 HTML 渲染了。

 

當初是你要分開,分開就分開。
如今又要用kpi,把我喚回來。
可是後端kpi跟你前端kpi是不一樣的呀,因此沒戲。

 

這些話也就我這種脫離了大廠約束的人敢說,在大廠的人根本不敢說,畢竟跟後端低頭不見擡頭見的。


最後告訴你一個小祕密。因爲阿里 nodejs 用得還算多,卻招不到人,因此從功利的角度出發,也許你學 nodejs 比學 java 更容易進阿里,畢竟阿里的 java 大神多如雲,nodejs 大神卻很少。

你說是吧。


可是從另一個角度考慮,SEO 不友好的頁面我是支持的。

若是你的頁面是對 SEO 不友好的,那麼百度的重要性就會被削弱。如今是移動互聯網時代,你們在手機上幾乎不用百度,都是直接點 App 點微信公衆號的,SEO 不友好問題不大。首屏速度隨着 5G 網絡的普及也不會是問題了。

只要能讓百度利益受損,我以爲 SPA 這事仍是值得作的。服務端渲染仍是直接免了吧,你們都不作 SEO 讓百度倒閉就最好咯~(只是個人幻想而已,不要當真,我是百度的腦殘黑,黑百度歷來不須要理由)


感謝你看我說了這麼多,不過說到最後,我也沒給出啥結論,只是把我觀察到的告訴你了。

你要不要學、要不要用服務器渲染HTML,都是須要你本身思考的事情。

仍是那句話,我不喜歡說中庸的觀點,我喜歡跟你說一個極端的觀點,而後會有人用另外一個極端的觀點反駁我,他說服不了我,我也說服不了他,可是最終,你會得出本身的觀點。

相關文章
相關標籤/搜索