码路拾遗前端学习之路郭志敏的程序员书屋

单页web应用是什么?它又会给传统网站带来哪些好处?

2014-08-25  本文已影响566人  54b59ee78c42

<b>什么是单页应用?</b>

单页应用是指在浏览器中运行的应用,它们在使用期间不会重新加载页面。像所有的应用一样,它旨在帮助用户完成任务,比如“编写文档”或者“管理Web服务器”。可以认为单页应用是一种从Web服务器加载的富客户端。

<b>单页应用给传统网站带来的好处?</b>

相对于传统网站,我们认为单页应用的主要好处是:
它提供了更加吸引人的用户体验。单页应用可以做到一举两得:桌面应用的即时性和网站的可移植性和可访问性。

所有这些好处意味着,你可能会想把下个应用做成单页应用。每次点击后都会重新渲染整张页面的笨拙网站,容易日益疏远富有经验的用户。精心编写的单页应用具有互动和快速响应的界面,还伴有访问网络的功能,这将帮助我们把客户留在属于他们的地方:使用我们的产品。

<b>关于单页Web应用</b>

单页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代码,复杂度可想而知,模块化开发和设计的重要性不言而喻。

随着单页Web应用的崛起,各种框架也不断涌现,如Backbone.js、Ember.js、Angular.js等,还有RequireJS等模块化加载库。但是,本书没有讲解这些框架和模块化加载库,这也正是我最喜欢这本书的原因。作者坦言自己很少使用框架,认为框架的限制过多,一旦不符合框架本身的设计哲学,结果可能适得其反。在翻译的过程中,曾多次想给作者鼓掌,因为我一直以来的观点和想法多次和作者的不谋而合。当然我和作者一样,也并不反对使用框架。不管是按照书中的方法来开发,还是决定使用其他可用的框架库,书中的思想都是适用的。

本书作者主要是介绍他们多年来开发单页Web应用网站的经验,他们已经从中提炼出单页Web应用的架构设计,这些架构设计思想是本书的精华所在,是本书最有价值且最值得回味和学习的东西。我特别欣赏作者那种毫无保留的分享精神和对技术认真严肃的态度,讲解的过程中一直担心遗漏了什么,结果使得本书的“篇幅”大大超出了他们最初的计划。

<b>关于封面插图</b>


单页Web应用.png

本书封面上的图片的标题是“Gobenador de la Abisinia”,或曰阿比西尼亚州长,今天叫做埃塞俄比亚。这幅插图取自首次于1799年出版的“西班牙地区服饰习俗概略”。

本文摘自即将上市的《单页Web应用:JavaScript从前端到后端》

上一篇 下一篇

猜你喜欢

热点阅读