传统的DOM是如何进行渲染的?以及单页面开发与多页面开发的优缺点。

分为三种:纯后端渲染,纯前端渲染,服务端的js渲染结合前端渲染。css

纯后端渲染html

纯后端的DOM渲染,DOM树的生成彻底是在后端服务器中完成的,至关于后端服务器的程序会把各类的数据拼成一个DOM树,并转换成一个字节流做为HTTP Response的body返回给浏览器。前端

 

纯前端渲染后端

纯前端渲染能够解决纯后端渲染中出现的各类体验问题。纯前端渲染把DOM生成的主题逻辑都放在了前端,这时后端只会返回一个框架的DOM结构,好比只带一个容器元素的的DOM,而后由js代码把页面的主题渲染到这个容器元素中。浏览器

服务端的js渲染结合前端渲染服务器

主要是把前两个阶段中,一些交给纯后端DOM渲染逻辑分离的很差,可是交给纯前端DOM渲染又会形成较高延迟的部分单独分离出来造成了一独立DOM渲染阶段,保留的代码中自然的展现层和数据层的分离,又把API请求的累计延迟减小了不少,从SEO角度来讲渲染结果对搜索引擎也很友好。固然,这样的作法须要给总体的架构增长一个独立的单元,给开发和部署都带来了更高复杂性。架构

 

 

单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载全部必须的 html, js, css。全部的页面内容都包含在这个所谓的主页面中。但在写的时候,仍是会分开写(页面片断),而后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。框架

  

  多页面(MPA),就是指一个应用中有多个页面,页面跳转时是整页刷新前后端分离

单页面的优势:动画

1,用户体验好,快,内容的改变不须要从新加载整个页面,基于这一点spa对服务器压力较小

2,先后端分离

3,页面效果会比较炫酷(好比切换页面内容时的专场动画)

单页面缺点:

1,不利于seo

2,导航不可用,若是必定要导航须要自行实现前进、后退。(因为是单页面不能用浏览器的前进后退功能,因此须要本身创建堆栈管理)

3,初次加载时耗时多

4,页面复杂度提升不少

相关文章
相关标签/搜索