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,都是须要你本身思考的事情。

仍是那句话,我不喜欢说中庸的观点,我喜欢跟你说一个极端的观点,而后会有人用另外一个极端的观点反驳我,他说服不了我,我也说服不了他,可是最终,你会得出本身的观点。

相关文章
相关标签/搜索