<dl class="lemmaWgt&#45;lemmaTitle lemmaWgt&#45;lemmaTitle&#45;" style="width&#58;700px&#59;font&#45;family&#58;arial&#44; tahoma&#44; &#39;Microsoft Yahei&#39;&#44; &#39;宋体&#39;&#44; sans&#45;serif&#59;color&#58;rgb&#40;51&#44;51&#44;51&#41;&#59;line&#45;height&#58;18px&#59;"> <dd class="lemmaWgt&#45;lemmaTitle&#45;title">

SPA

 

(单页应用程序)

  编辑 </dd> </dl>
本词条缺少 名片图,补充相关内容使词条更完整,还能快速升级,赶紧来 编辑吧!
单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。
<dl class="basicInfo&#45;block basicInfo&#45;left" style="width&#58;395px&#59;"> <dt class="basicInfo&#45;item name" style="line&#45;height&#58;26px&#59;width&#58;90px&#59;font&#45;weight&#58;700&#59;overflow&#58;hidden&#59;color&#58;rgb&#40;153&#44;153&#44;153&#41;&#59;"> 中文名 </dt> <dd class="basicInfo&#45;item value" style="line&#45;height&#58;26px&#59;width&#58;285px&#59;"> 单页应用程序 </dd> </dl> <dl class="basicInfo&#45;block basicInfo&#45;right" style="width&#58;395px&#59;"> <dt class="basicInfo&#45;item name" style="line&#45;height&#58;26px&#59;width&#58;90px&#59;font&#45;weight&#58;700&#59;overflow&#58;hidden&#59;color&#58;rgb&#40;153&#44;153&#44;153&#41;&#59;"> 外文名 </dt> <dd class="basicInfo&#45;item value" style="line&#45;height&#58;26px&#59;width&#58;285px&#59;"> single page web application </dd> </dl>

单页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]  
<dl class="lemma&#45;reference collapse nslog&#45;area log&#45;set&#45;param" style="clear&#58;both&#59;color&#58;rgb&#40;51&#44;51&#44;51&#41;&#59;font&#45;family&#58;arial&#44; &#39;宋体&#39;&#44; sans&#45;serif&#59;line&#45;height&#58;18px&#59;"> <dt class="reference&#45;title" style="font&#45;size&#58;19px&#59;line&#45;height&#58;45px&#59;font&#45;family&#58;&#39;Microsoft YaHei&#39;&#44; sans&#45;serif&#59;border&#45;bottom&#45;width&#58;2px&#59;border&#45;bottom&#45;style&#58;solid&#59;border&#45;bottom&#45;color&#58;rgb&#40;204&#44;204&#44;204&#41;&#59;"> 参考资料 </dt> <dd class="reference&#45;list&#45;wrap" style="overflow&#58;hidden&#59;">
  • 如何掌握单页面应用开发  .TechTarget[引用日期2015-08-12]
  • http://baike.baidu.com/link?url=_udPZUAn9zZHxPa_VKdaFnu7qYxkWTnsprgQFhE8nvwyOd6zfoujoz5pKvuu3gQZKZ3ElDRmm2ni2hWTElExaK
</dd> </dl>