单页面与多页面间的区别及优缺点
今天接到一个电话面试,小哥哥问单页面和多页面的优缺点,傻傻的我事后才反应过来不仅没回答好还把单页面和多页面的概念搞反了,查了一些资料在此做一些总结:
单页面应用(SPA),通俗一点说就是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在这个所谓的主页面中。但在写的时候,还是会分开写(页面片段),然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新局部资源。多应用于pc端。
多页面(MPA),就是指一个应用中有多个页面,页面跳转时是整页刷新
单页面的优点:
1,用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小
2,前后端分离
3,页面效果会比较炫酷(比如切换页面内容时的专场动画)
单页面缺点:
1,不利于seo
2,导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)
3,初次加载时耗时多
4,页面复杂度提高很多
查找资料过程中感觉掘金上一个博主总结的很好,拿到这里借鉴下:
图片来源地址:https://juejin.im/post/5a0ea4ec6fb9a0450407725c
感觉总结的还是太浅显,和网上大部分的总结并没有什么区别,还是理解的不够深入,欢迎各路大神点拨