🌵多页面应用 VS 单页面应用

简介: 🌵多页面应用 VS 单页面应用

单页面应用这个概念,是随着AngularJS、React、Vue 等这些框架的出现而出现的。在多页面应用中,你每次跳转,服务器都会返回一个HTML文件,而单页面应用不会,每次点击跳转链接,单页面应用使用了页面的局部刷新的能力。


一、多页面应用


多页面跳转刷新所有资源,每个公共资源(js、css等)需选择性重新加载。


应用场景


常用于 app 或 客户端等


优缺点


优点:首屏时间快,SEO效果好。


缺点:页面切换慢。


二、单页面应用


只有一张Web页面的应用,是一种从Web服务器加载的富客户端,单页面跳转仅刷新局部资源 ,公共资源(js、css等)仅需加载一次。页面渲染是通过JS动态渲染来实现的。


应用场景


常用于PC端官网、购物等网站


优缺点


优点:页面切换快


。 缺点:首屏时间稍慢,SEO差。


在Vue中提供了一些其它的技术,比如服务器端渲染的技术,通过这些技术可以完美解决掉单页面应用中的问题。因此对前端来说,单页面应用是一个非常完美的页面开发解决方案。


三、对比


单页面应用和多页面应用的其他区别可参考以下表格:


单页面应用 多页面应用
组成 一个外壳页面和多个页面片段组成 多个完整页面构成
资源共用(css,js) 共用,只需在外壳部分加载 不共用,每个页面都需要加载
刷新方式 页面局部刷新或更改 整页刷新
url 模式 a.com/#/pageone a.com/#/pagetwo a.com/pageone.html a.com/pagetwo.html
用户体验 页面片段间的切换快,用户体验良好 页面切换加载缓慢,流畅度不够,用户体验比较差
页面跳转动画 容易实现 无法实现
数据传递 容易 依赖 url 传参、或者 cookie 、localStorage 等
搜索引擎优化(SEO) 需要单独方案、实现较为困难、不利于 SEO 检索 可利用服务器端渲染(SSR)优化 实现方法简易


最后


本文介绍了单页面应用与多页面应用以及它们的区别~

如果这篇文章对你有帮助的话,麻烦点赞收藏哟~


后期更文计划


  • 异步进阶及event loop的那些事儿~
  • Grid布局原理及实战
  • vw和vh布局或许会成为新趋势?
相关文章
|
2月前
|
JavaScript UED
"Vue实战技巧大揭秘:一招解决路由跳转页面不回顶部难题,让你的单页面应用用户体验飙升!"
【10月更文挑战第23天】在Vue单页面应用中,点击路由跳转时,默认情况下页面不会自动滚动到顶部,这可能影响用户体验。本文通过一个新闻网站的案例,介绍了如何使用Vue-router的全局前置守卫和`scrollBehavior`方法,实现路由跳转时页面自动滚动到顶部的功能,提升用户浏览体验。
118 0
|
5月前
|
API UED 开发者
Vaadin路由魔法:导航之舟,带你穿越页面迷宫!驾驭神奇URL,解锁无限可能!
【8月更文挑战第31天】Vaadin是一款现代Java Web开发框架,其路由机制结合前后端路由,确保流畅的用户体验和高效服务器资源利用。通过`@Route`注解和`Router`类,开发者可以轻松定义和管理页面路径。例如,`@Route("home")`可指定视图路径,而参数化路由如`@Route("user/:userId")`则允许URL传参。此外,Vaadin还提供了丰富的导航API和自定义路由事件监听器,助力开发者构建结构清晰且体验优秀的Web应用。
71 0
|
JavaScript
JS实现面包屑功能(拿来及用)
JS实现面包屑功能(拿来及用)
106 0
|
8月前
|
前端开发 JavaScript 搜索推荐
单页面应用与多页面应用的区别?
单页面应用与多页面应用的区别?
40 0
|
JavaScript
Vue移动端框架Mint UI教程-跳转新页面(四)
Vue移动端框架Mint UI教程-跳转新页面(四)
136 0
|
JSON 前端开发 JavaScript
ElementUI首页导航和左侧菜单静态页面的实现,以及Mockjs和总线的介绍
ElementUI首页导航和左侧菜单静态页面的实现,以及Mockjs和总线的介绍
|
前端开发
前端学习笔记202304学习笔记第十九天-vue3.0-渲染页面并跳转到用户详情页
前端学习笔记202304学习笔记第十九天-vue3.0-渲染页面并跳转到用户详情页
72 0
|
前端开发
前端学习笔记202304学习笔记第十九天-vue3.0-编程式导航实现后退效果
前端学习笔记202304学习笔记第十九天-vue3.0-编程式导航实现后退效果
68 0
|
前端开发 JavaScript Go
解决非工程化项目初始化页面闪动问题
解决非工程化项目初始化页面闪动问题
109 0
vue3 + elementplus 左侧菜单 无限无线递归渲染
vue3 + elementplus 左侧菜单 无限无线递归渲染
336 0