SPA解释:单页应用程序

单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。

单页Web应用

单页Web应用(single page web application,SPA),就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。[1]浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。

特点

速度:更好的用户体验,让用户在web app感受native app的速度和流畅,

·MVC:经典MVC开发模式,前后端各负其责。

·ajax:重前端,业务逻辑全部在本地操作,数据都需要通过AJAX同步、提交。

·路由:在URL中采用#号来作为当前视图的地址,改变#号后的参数,页面并不会重载。

单页Web应用(single page web application,SPA)是当今网站开发技术的弄潮儿,很多传统网站都在或者已经转型为单页Web应用,新的单页Web应用网站(包括移动平台上的)也如雨后春笋般涌现在人们的面前,如Gmail、Evernote、Trello等。如果你是一名Web开发人员,却还没开发过或者甚至是没有听说过单页应用,那你已经Out很久了。

单页Web应用和前端工程师们息息相关,因为主要的变革发生在浏览器端,用到的技术其实还是HTML+CSS+JavaScript,所有的浏览器都原生支持,当然有的浏览器因为具备一些高级特性,从而使得单页Web应用的用户体验更上一层楼。关于单页应用的优点和缺点,网上讲解的文章有很多,这里就不展开论述了。 单页Web应用,顾名思义,就是只有一张Web页面的应用。浏览器一开始会加载必需的HTML、CSS和JavaScript,之后所有的操作都在这张页面上完成,这一切都由JavaScript来控制。因此,单页Web应用会包含大量的JavaScript代码,复杂度可想而知,模块化开发和设计的重要性不言而喻。[2]

单页web应用开发流程

  • 用循环的视角审视Web应用开发

  • 框定一个一致的SPA图形用户界面(GUI)和模型
  • 将SPA的原则带回服务器端
  • 聚集于对合适的应用进行早期SPA开发[3]

SPA协调的起点是认识到SPA与脚本和网页编程有关,而不是与后端应用有关。SPA的主要目标是围绕着Web 2.0页面时间交互原则重构Web应用,以便体验可容易地转化到多个设备中,并对用户有效。这意味着首先要抱着支持这样一个逻辑活动为目标来设计用户交互,该活动应该涉及单页面与一套脚本,实现一次加载并执行直到活动完成。

一旦用户交互设计完成,下一步就是框定一个本地状态或事件模型,该模型应能描述页面处理与用户的交互及与任何后端应用交互。尽管这并非不可能,但是开发与服务器端功能多组件交互的SPA会更加困难。

这会产生一种要对应用服务器进行重构的诱因,其目的是为了以1:1的比例来支持SPA。就最大程度上而言,该模型应该让自己的变量及命名空间本地化,并通过应用的服务器端与其他SPA交互。这是为了减少对于用本地SPA控制器或模型来在多个SPA之间保留状态的需求。[3]

时间: 2024-12-25 10:09:01

SPA解释:单页应用程序的相关文章

FastReport教程:如何在单页应用程序Angular 7中使用Web报表

下载FastReport.Net最新版本 如果您在ASP.Net Core应用程序中使用FastReport.Net并希望切换到单页应用程序(SPA),那么本文适合您. 由于Angular和ASP.Net Core的共生,您可以使用您熟悉的MVC应用程序架构. 我们来看看创建SPA应用程序的方法.这对那些刚刚学习Angular的人很有用.要使用Angular,您需要安装Node.js,这是一个在服务器端执行JavaScript代码的平台. 最简单的方法是从开发人员的网站https://nodej

spa(单页应用)中,使用history模式时,微信长按识别二维码在ios下失效的问题

spa(单页应用,vue)中,使用history模式时,微信长按识别二维码在ios下失效的问题. 触发条件: spa单页应用: 路由模式 history 从其他页面跳转到带有微信二维码识别的页面(不是直接打开该页面) ios版本的微信(实测版本6.5.19) 结果: 二维码长按无法识别,刷新页面后恢复正常,安卓下正常. 解决方案: 1. 进入该页面的方式不使用路由跳转,而改为 <a href="xxx">目标二维码页面</a>的方式: 2. 在beforeCre

最简单的SPA(单页应用)实现

$(function(){ var replacePage = function(href, onFinish){ $.get(href,{},function(raw){ var data = raw.substring(raw.indexOf('</head>')+7,raw.indexOf('</body>')+7); $('body').html(data); if(onFinish!=undefined)onFinish(); }); }; $("body&qu

【ASP.NET MVC 5】第27章 Web API与单页应用程序

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://bbs.qyer.c

常用的几个单页应用程序网站分享

http://www.jb51.net/web/37228.html

0509日重点2:运用百度分享来实现分享功能,单页程序添加封面

1.百度分享:http://share.baidu.com/code/ 在百度分享里,设置好分享的功能,页面分享按钮的样式等,然后点击直接复制代码. 然后在你的项目文件里,在需要分享的位置上直接粘贴代码(html和js代码同时有). 2.在单页应用程序(只有一个index文件的)前添加一个新封面 . 方法:则只要把原index页面换名字,添加的页面设为index.html,然后新index中链接跳转到原index页面即可.

Vue系列(1):单页面应用程序

前言:关于页面上的知识点,如有侵权,请看 这里 . 关键词:SPA.单个 HTML 文件.全靠 JS 操作.Virtual DOM.hash/history api 路由跳转.ajax 响应.按需加载.MVVM SPA 我们先来看一下在百科上面的解释吧,emmmm,一般呢,我每次搜索一些不懂的词,都会习惯先去看百科里面的解释,反正我从来都不奢望能看懂,只是指望有个大概的框架的,哈哈~ "单页面应用(SPA:single-page application),就是只有一张Web页面的应用,是加载单个

单页Web应用优缺点

一.定义单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML.JavaScript 和 CSS.一旦页面加载完成了,SPA不会因为用户的操作而进行页面的重新加载或跳转.取而代之的是利用 JavaScript 动态的变换HTML的内容,从而实现UI与用户的交互.由于避免了页面的重新加载,SPA 可以提供较为流畅的用户体验. 二.优缺点 单页Web程序的出现

论单页Web应用+RESTful规约[上]

单页Web应用 概述 单页Web应用并不是突然诞生的一门新技术,而是web展示的一种新的尝试.它将所有的动作局限于一个Web页面,在加载站点首页的时候就加载站点需要的JavaScript和CSS.单页Web应用不会随着用户的操作而重新加载页面或者进行页面跳转,而是利用默默执行在后端的JavaScript动态的变换HTML内容,从而对用户动作做出响应.单页Web应用可以提供非常流畅的用户体验,并且在移动端Hybrid应用中有着Native应用的体验. 原理 根据RFC 1738中对URL的描述,U