浅谈单页面应用和多页面应用

写在前面:

       这些年前端发展非常快,新的理念和框架不断产出和发展,如当今火爆的Vue和React这样的单页面应用框架。
       那么大家对於单页面应用和多页面应用是否有系统的认知呢?如果你对二者的概念还很模糊,那么本文将带着大家从区别和对比的角度彻底搞定它们。

什么是单页面应用?

       英文是SinglePage Web Application,简称SPA。 只有一个Web页面的应用,单页面跳转就是切换相关组件,仅刷新局部资源,公共资源(js、html、css等)仅需加载一次。

什么是多页面应用?

       英文名是MultiPage Application,简称MPA。顾名思义就是有多个独立页面的应用,每个页面都会重复加载js、css等资源,多页面跳转需要刷新整页的资源。

对比

单页面应用(SPA) 多页面应用(MPA)
结构 一个主页面+多个模块的组件 多个完整的页面
体验 首屏时间较慢,SEO差,页面切换快 首屏加载快,SEO效果好,页面切换慢
URL模式 如 xxx.com/#/index 如 xxx.com/index.html
适用场景 对体验度和流畅度有较高要求,弱化SEO优化 对SEO要求较高,弱化页面流畅度
转场动画 很多框架封装好了动画组件,容易实现 很难实现
路由模式 使用 hash 或者 history 普通链接跳转
数据传递 单页面直接使用全局变量即可 使用cookie、localStorage等花缓存方案,URL参数,调用接口保存等

说明:

       搜索引擎在记录网站自然排名有一套规则,对这套规则作出相应的优化便称为SEO 英文全称Search Engine Optimization,中文叫搜索引擎优化
       由于搜索引擎蜘蛛网络爬虫程序更擅长对静态资源的抓取和更新,难以识别JS渲染生成的内容。对于多页面应用来讲,每个页面内容都放静态html中,更易被抓取识别到,这样SEO效果就好。反观单页面应用,很多内容都是根据匹配到的路由动态获取的,网络抓取工具程序爬取困难,SEO效果自然就差。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章