为什么现在又流行服务器端渲染html

为什么现在又流行服务器端渲染html,第1张

最开始的页面都是服务端渲染,渲染模板属于后端要做的工作,也就是 mvc 中的 v,各种模板库飞起。
后来出来了一个 ajax 方案,体验效果很好,并且很好的解藕了前后端工作,切图崽(前端岗位的昵称)不需要学习后端模板语法,crud崽(后端昵称)不需要学习 html 语法。并且一套 restful 搞定 web Android iOS 三端。不过呢,切图崽需要用 js *** 作不少 dom 结构。
切图崽不满足于写出那么多接口数据到 dom 结构的不好维护的垃圾代码,于是做了:
1 搞出来前端的 orm,一个后端实体对应前端一个 model,再配五个接口(添加,删除,修改,获取列表,获取单个实体),接口的请求 *** 作统一为 model 实例的方法,再也不用写各种接口请求了。 形成了前端代码中的数据中心。
2 为了 避免 dom *** 作代码繁杂看不懂,于是把数据和 dom 节点绑在一起,dom *** 作变成了配置,清爽不少。形成了前端的数据控制层。
现在我们的前端页面可以直接无刷新增删改查了
当然不够的,我们在切换页面的时候还是会刷新,不行,我们要 spa (单页应用),整个前端我们只需要一个入口,于是前端的路由出来了。
切图崽当然还是不满意的,既然桌面 gui 软件有那么清晰一套 mvc 开发方式,前端作为 gui 开发怎么能没有,再加上之前的工作积累。数据流,数据绑定,ui 组件。方向数据流,数据双向绑定,ui 组件库 满天飞,形成了现在 react angular vue 局势。
至此,似乎已经挺完美了,但是谁知道在这期间 nodejs 出来了,它是什么,就是 JavaScript 的语法啊,我们切图崽天然就掌握一门后端语言语法了
于是我们开始回顾历史,当年我们采用了无刷新提高体验的同时,虽然也去掉了无后端的工作耦合,但是,也放弃了服务端渲染的 seo 啊,如今,我们在不要求后端的情况下,在中间加一个 node 层,就可以解决 seo 问题,也享受 spa 的体验优势…

Arm 服务器侧渲染,是通过GPU虚拟化来做。云手机就是在服务器上,部署容器和安卓系统,在手机侧可以不需要安装就玩游戏、或者24小时在线。PCI-e显卡的开源驱动已经有了,但还需要厂家进一步开发。

react-coat

react-coat 特点

集成 react、redux、react-router、history 等相关框架

仅为以上框架的糖衣外套,不改变其基本概念,无强侵入与破坏性

结构化前端工程、业务模块化,支持按需加载

同时支持 SPA(单页应用)和 SSR(服务器渲染)

使用 typescript 严格类型,更好的静态检查与智能提示

开源微框架,源码不到千行,几乎不用学习即可上手

这款可以满足你,带完整Demo示例

1、有些回答中提到CPU负载和nodejs效率问题。服务器端渲染固然耗CPU,但可以使用服务器端缓存的方式解决,并不是每个用户访问都需要重新渲染一
遍。而且服务器端渲染甚至可以潜在地增加服务器效率(这点在参考资料第二个里有提到,不过是纯英文的,我有空会翻译下)。
2、服务器端和客户端可以共享某些代码,避免重复定义。这样可以使结构更清晰,增加可维护性
3、首次加载页面的速度加快。客户端渲染的一个缺点是,当用户第一次进入站点,此时浏览器中没有缓存,需要下载代码后在本地渲染,时间较长。而服务器渲染则是,用户在下载的已经是渲染好的页面了,打开速度比本地渲染快。
4、SEO。服务器端渲染可以让搜索引擎更容易读取页面的meta信息以及其他SEO相关信息,大大增加网站在搜索引擎中的可见度。
其实并不一定要争个好坏,服务器端和客户端渲染各有各的优缺点。建议根据实际需求,在某些页面使用服务器渲染,某些页面使用客户端渲染,以达到最佳解决方案。

对于网页而言,无论后端程序是多么的复杂,最终返回给客户端的还是HTML文件。页面渲染模式主要分:服务器端渲染、客户端(前端)渲染。不管哪种渲染模式,其实都是基于模板引擎而言的。

对于普通用户而言,采用哪种渲染模式似乎并不重要,但对于网站架构而言其中区别还是很大的。

服务器端渲染(SSR)

服务器端渲染其实就是服务器端在返回HTML给客户端之前,先将HTML模板上特定区域填充上数据后生成完整的HTML返回给客户端。

此时模板文件存储在服务器端。

1、优点:由服务器端进行数据填充工作,不会影响前端性能(解析模板是有性能开销的)、SEO友好、首屏渲染快;

2、缺点:占用了服务器端运算资源,响应体较大(因为返回的是完整的HTML文本)。

客户端渲染

客户端渲染指的就是借助前端的JavaScript调用后端API来实现页面渲染。前端也是有模板引擎的,而前端模板引擎在填充数据时也是靠JS来 *** 作DOM节点的。

此时模板文件存储在前端。

1、优点:不占用服务器端资源,模板在前端改起来更容易,不用麻烦后端联调;

2、缺点:由前端JS负责数据解析和填充工作,在弱网环境下页面加载时可能会出现乱版现象,渲染起来速度可能会慢一些。另外使用前端渲染很多数据都是动态调用API进行填充的,所以不利于SEO。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎在线咨询


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10496280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存