谈谈前后端分离

1.首先我们先看看SPA

SPA全称是single page application(单页面应用),它是一种网络应用程序(webAPP)模型。传统网站里面,不同页面的切换一般是直接从服务器加载一整个新页面,而SPA这个模型,则是通过动态的重写页面的部分与用户交互,避免了过多数据交换。即是只有一张Web页面的应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源,公共资源(js,css等)仅仅需要加载一次。常用于PC端官网、购物等网站。

常见的几个SPA框架:AngularJS  React   Vue.js

SPA的优点:

   (1)前后端分离,分工明确、接口明确

   (2)提高开发效率,减少前后端沟通成本

   (3)页面之间切换很快

   (4)一定程度上减少了后端服务器的压力

   (5)后端程序只需要提供API,不用管客户端是web还是手机等。

缺点:

   (1)首屏打开速度满,因为用户首次加载需要下载框架及代码,再渲染页面

   (2)不利于SEO

 

2.SEO

SEO就是 Search Engine Optimization,即搜索引擎优化,SEO是通过了解搜索引擎的运作规则来调整网站,以提高该网站排名。然而,对于目前的搜索引擎而言,对于异步数据的支持还不足(即当你使用AJAX获取数据时,很难保证页面能被搜索引擎收录到),为了解决这个问题,就提出了SSR

3.SSR

SSR即是 Server-Side Rendering(服务器端渲染)。普通的SPA中,一般是将框架以及网站页面代码发送到浏览器,然后在浏览器中生成和操作DOM,(因此这是第一次访问SPA网站在同等情况下比传统的在后端生成HTML发送到浏览器要慢的原因。)实际上,也可以将SPA应用打包到服务器上,在服务器上渲染出HTML发送到浏览器上,这样的HTML页面还不具备交互能力,因此还需要与SPA框架配合,在浏览器上混合成可交互的应用程序。所以,合理运用SSR技术,不仅能一定程度上解决首屏慢的问题,还能获得更好的SEO。

SSR常用框架

 React 的Next

 Vue.js 的Nuxt

 

4.MPA

 MultiPage Application,即多页面应用。

多页面跳转刷新所有资源,每个公共资源需要选择性重新加载,常用于app或客户端等。

5.SPA与MPA对比

 

SPA与MPA具体对比分析表
 SPAMPA
组成一个外壳页面和多个页面片段多个完整页面
资源共用共用,只需外壳部分加载不共用,每个页面都需要加载
刷新方式页面局部刷新或者更改整页刷新
url模式a.com/#/pageone.htmla.com/pageone.html
用户体验页面片段间切换快,用户体验良好页面切换加载缓慢、流畅度不够、用户体验差
转场动画容易实现无法实现
数据传递容易依赖url传参、cookie、localStorage等
SEO需要单独方案,实现困难,可使用SSR优化实现方法简易
开发成本较高,常需要专业框架较低,但页面重复代码多
维护成本容易复杂

参考资料

1. https://www.jianshu.com/p/fcb98533bc18

2.https://juejin.im/post/5a0ea4ec6fb9a0450407725c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值