貌似几年前从服务端生成html(如servlet)慢慢开始前后端分离,把一些渲染计算的步骤抛向前端来减轻服务端的压力。但是为啥现在又开始流行在服务端渲染html了呢?如vue全家桶或者react全家桶,都是推荐通过服务端渲染来实现路由的。单纯的是因为Virtual DOM的强大还是别的什么原因?
1、方应杭
这就要从八年前说起了,事情是这样的。
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不少压力。最终只有少部分前端特别强势的团队成功用上了nodejs'做渲染(比如阿里的一些团队),大部分公司依然是用php渲染html。
7、于是nodejs退一步说好好好我不抢你们的工作,我只做中间层(大部分工作就是渲染页面和调用后台接口),绝不越雷池。后端说算你识相。现在nodejs主要搞什么微服务,也是为了抢后端还没注意的市场。
原文链接:
https://blog.csdn.net/b9q8e64lo6mm/article/details/79418969
有疑问加站长微信联系(非本文作者)