前端:单页面应用和多页面应用

名词介绍:

  单页面应用(SinglePage Web Application,SPA)

  多页面应用(MultiPage Application,MPA)

对比分析:  

组成 一个外壳页面和多个页面片段组成 多个完整页面构成
资源共用(css,js) 共用,只需在外壳部分加载 不共用,每个页面都需要加载
刷新方式 页面局部刷新或更改 整页刷新
url 模式 a.com/#/pageone
a.com/#/pagetwo
a.com/pageone.html
a.com/pagetwo.html
用户体验 页面片段间的切换快,用户体验良好 页面切换加载缓慢,流畅度不够,用户体验比较差
转场动画 容易实现 无法实现
数据传递 容易 依赖 url传参、或者cookie 、localStorage等
搜索引擎优化(SEO) 需要单独方案、实现较为困难、不利于SEO检索 可利用服务器端渲染(SSR)优化 实现方法简易
试用范围 高要求的体验度、追求界面流畅的应用 适用于追求高度支持搜索引擎的应用
开发成本 较高,常需借助专业的框架 较低 ,但页面重复代码多
维护成本 相对容易 相对复杂

原文地址:https://www.cnblogs.com/zhouqiaoyun/p/9198502.html

时间: 2024-11-09 11:34:06

前端:单页面应用和多页面应用的相关文章

前端的单页面模式和多页面模式

一.前言 前端部分的搭建,需要考虑使用哪种模式进行页面之间的跳转交互, 而项目内的页面交互,不可避免的需要相互之间的数据共享. 这就引出了本篇博客的目的,一起来谈谈:项目前端部分的构建方式以及数据共享方式. 二.正文 (一).搭建前端部分所需要注意的问题 1)方便性   结合开发的时间需求和方便性选择适合的前端模式: 2)性能   在项目的体量比较大,或者某个页面需要加载较多文件时,会对加载页面所需时间产生影响 3)浏览器的缓存   在项目发布后如果文件(css/js/image)有更新,需要用

【转】移动Web单页应用开发实践——页面结构化

1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用一个页面装载,也可能是按模块分为独立页面装载.在开发单页应用时第一个要处理的问题就是页面结构化,由于多个功能集中在一个页面呈现,就必然需要考虑如何实现多个视图布局?如何实现视图之间动画切换?等问题. 下面我就来讲述下手机搜狐前端团队在单页应用开发的页面结构化上做过的一些尝试与努力. 2. 页面视图

移动Web单页应用开发实践——页面结构化

1. 前言 在开发面向现代智能手机的移动Web应用的时候,无法避免一个事实,就是需要开发单页应用(Single Page WebApp).对于不同的系统需求,单页应用的粒度会不同,可能是整个系统都使用一个页面装载,也可能是按模块分为独立页面装载.在开发单页应用时第一个要处理的问题就是页面结构化,由于多个功能集中在一个页面呈现,就必然需要考虑如何实现多个视图布局?如何实现视图之间动画切换?等问题. 下面我就来讲述下手机搜狐前端团队在单页应用开发的页面结构化上做过的一些尝试与努力. 2. 页面视图

单页面开发和多页面开发的区别

(盗图镇楼) 多页应用 每一次页面跳转的时候,后台服务器都会返回一个新的html文档,这种类型的网站就是多页网站,也叫多页应用.{页面跳转——>返回html} 优点是:首屏时间快,seo效果好:缺点是:页面切换慢: 为什么多页应用的首屏时间快? 首屏时间叫做页面首个屏幕的内容展现时间,当我们访问页面的时候,服务器返回一个html,页面就会展示出来,这个过程只经历了一个http的请求,所以页面的展示速度非常的快. 为什么搜素引擎的优化效果好(seo)? 搜索引擎在做网页排名的时候,要根据网页的内容

【转】表单提交及关闭当前页面并刷新数据

在DWZ文档中,对于DWZ框架Ajax无刷新表单提交处理流程描述如下: 1.       ajax表单提交给服务器 2.       服务器返回一个固定格式json结构 3.       js会调函数根据这个json数据做相应的处理 注意: DWZ框架默认的ajax表单提交都是返回json数据,告诉客户端操作是否成功,成功或失败提示信息,以及成功后的处理方式(刷新某个navTab或关闭某个navTab或navTab页面跳转). 表单提交后服务器操作失败了,客户端接收statusCode和mess

单页面模式和多页面模式的优缺点

1)多页面模式(MPA  Multi-page Application):  多页面跳转需要刷新所有资源,每个公共资源(js.css等)需选择性重新加载 页面跳转:使用window.location.href = "./index.html"进行页面间的跳转: 数据传递:可以使用path?account="123"&password=""路径携带数据传递的方式,或者localstorage.cookie等存储方式 2)单页面模式(SPA 

记 history.replaceState方法一次应用 解决单页面应用刷新切换页面问题

恩,以前就知道history api 新加了几个方法但是没怎么研究过,今天碰到了一个小问题,用history完美解决了,很兴奋,记录下 首先说下我遇到的问题场景: 现在有两个页面 A,B A页面时提交信息页面 B页面是结果页 并且 A,B 页面是同一个html文件内用 js 模板 动态渲染的, 那么当结果页面动态渲染出来以后,每次刷新就会显示A页面,其实,我更想显示B页面对吧,肯定不想让用户再次提交一次,而且大多数情况下我其实并不希望用户直接进入提交信息页面的,因为如果是支付的话,会造成二次支付

jquery.pjax 单页面, 无刷新打开页面.

介绍: pushState+ajax=pjax 工作原理: 什么是pjax? 现在很多网站(facebook, twitter)都支持这样的一种浏览方式, 当你点击一个站内的链接的时候, 不是做页面跳转, 而是只是站内页面刷新. 这样的用户体验, 比起整个页面都闪一下来说, 好很多. 其中有一个很重要的组成部分, 这些网站的ajax刷新是支持浏览器历史的, 刷新页面的同时, 浏览器地址栏位上面的地址也是会更改, 用浏览器的回退功能也能够回退到上一个页面. 那么如果我们想要实现这样的功能, 我们如

前端单页应用微服务化解决方案2 - Single-SPA

技术选型 经过各种技术调研我们最终选择的方案是基于 Single-SPA 来实现我们的前端微服务化. Single-SPA 一个用于前端微服务化的JavaScript前端解决方案 使用Single-SPA之后,你可以这样做: (兼容各种技术栈)在同一个页面中使用多种技术框架(React, Vue, AngularJS, Angular, Ember等任意技术框架),并且不需要刷新页面. (无需重构现有代码)使用新的技术框架编写代码,现有项目中的代码无需重构. (更优的性能)每个独立模块的代码可做