现在的位置: 首页 > 综合 > 正文

《Dojo构建Ajax应用程序》连载一

2013年04月18日 ⁄ 综合 ⁄ 共 3101字 ⁄ 字号 评论关闭

本文内容来自于本人翻译的《Dojo构建Ajax应用程序》一书,该书由机械工业出版社出版。

以下为该书封面(点击图片可以进入到china-pub上该书的页面):

以下为该书的目录:

202第一部分Dojo指南.1a1c1ac111c111a1a1
203理解Dojo:指南2a2c2ac222c222a2a2
204使用Dojo进行客户端验证3a3c3ac333c333a3a3
205使用Dojo与服务器端协同工作4a4c4ac444c444a4a4
206使用DojocWidgets5a5c5ac555c555a5a5
207使用Dojo处理表单6a6c6ac666c666a6a6
208第二部分cDojocWidgets7a7c7ac777c777a7a7
209DojocWidgets简介8a8c8ac888c888a8a8
201DojocFormcWidgets9a9c9ac999c999a9a9
201DojocLayoutcWidgetsc..10a10c10ac101010c101010a10a10
201其他专门的DojocWidgets11a11c11ac111111c111111a11a11
201第三部分cDojo详解12a12c12ac121212c121212a12a12
201Dojo是什么?13a13c13ac131313c131313a13a13
201Dojo的技术描述14a14c14ac141414c141414a14a14
201对象与类15a15c15ac151515c151515a15a15
201String与JSON16a16c16ac161616c161616a16a16
201事件与事件处理17a17c17ac171717c171717a17a17
201AjaxcRemoting18a18c18ac181818c181818a18a18
202处理DOM19a19c19ac191919c191919a19a19
201测试与调试...20a20c20ac202020c202020a20a20

第1章  理解Dojo 指南  

耳听为虚,眼见为实。

中国谚语

  

灵感来源于本章开头所引用的谚语,我相信讲解新技术最好的方式之一就是给出一个简单的示例。因此我将以一个指南作为本书的开始,该指南将使用Dojo Toolkit来增强一个基本的HTML表单。从本章开始一直到第五章——使用Dojo处理表单都将介绍该指南,同时这五章也构成了本书的第一部分——Dojo指南。

   

指南简介

假如你是一个Web开发者(如果你正在阅读这本书,那么对此就没什么好奇怪的了),有人建议你向站点中增加一些Ajax特性。也许提出该需求的人正是你的老板,甚至是老板的老板,但他可能连Ajax是什么都不知道,更不用说哪些特性有用了。也许你有点不太自信。想象一下,你之前的经验几乎都在服务器端,使用Java或者其他服务器端技术,你对HTMLJavaScript的经验非常有限。这就是接下来几章中你开始了解Dojo Toolkit时所处的场景。

为了进一步说明该场景,假设你已经听说过JavaScript编程语言非常强大,有很多JavaScript库和框架可以协助你充分利用其强大的功能。你已经决定使用Dojo Toolkit,因为你经常访问的一些Web站点和论坛推荐它。同时你也准备将应用中访问最频繁的一个页面“Ajax

   

该指南将通过几个步骤向你介绍如何使用Ajax特性来更新页面。我们将采用小步前进的方式来增强该页面,每一小步都会重点说明一个具体的问题。通过这种方式,我们将会看到Ajax允许我们往Web页面中增加的各种特性,同时我们也会看到如何使用Dojo Toolkit来实现这些特性。

 

1.1.1 本指南的目标

 

本指南的首要目标就是向你展示如何使用Dojo Toolkit将一些常见的Ajax特性增加到web页面中。该指南从简单处着手。换句话说,它专注于容易实现且对可用性提升大有裨益的一些特性。它不会对Dojo特性进行面面俱到的讲解,也不会涵盖我们实现的所有特性。你可以将它当作增强Web站点的第一步。  

该指南的另一个主要目标就是以最简单的方式实现一些特性。尽管Dojo的大多数特性既可以声明方式(通过HTML标记)也可以编程方式(通过JavaScript)实现,但我们首先以声明方式实现,因为大多数的服务器端Web开发者更熟悉HTML标记,相比之下,对JavaScript就差一些了。当然了,我们也会使用一些JavaScript来作为各种东西的粘合剂。
 

1.1.2 使用Dojo的目的
 

我们使用Dojo想要得到什么呢?首要的是——想让页面的可用性更好。我们在很多地方都会这样想。页面的执行应该更快点。看起来更漂亮点。操作起来更简单点。可以帮助用户准确获得其想要的信息,这就要求页面的导航更简单。但同时在用户访问Web页面时,我们不应改变其操作习惯。我们在不断增强可用性的同时不能以牺牲用户已有的体验为代价。  

我们该如何改进可用性呢?Dojo对已有的HTML表单元素进行了增强,提供了额外的功能。这些增强会使当前的表单元素可用性更好。

 

 

我们可以通过如下两种方式来改进性能:让系统运行的更快或者是让系统看起来运行的更快。让一个过程看起来运行的更快的理想方式就是在其运行的同时用户可以做一些其他事情而不是在那干等着。Ajax使用了非常棒的机制来支持该技术。我们将使用Dojo让页面向服务器端发送异步请求,同时用户的操作可以继续而不被打断。对用户来说,该页面看起来运行的更快、响应也更快了。 

 

 

我们可以在用户输入数据时就进行验证,以此来改进数据验证过程。Dojo可以将小部分验证请求发送到服务器端而无需提交整个表单。如果合适的话,我们甚至想采用桌面应用那种数据验证方式——根据用户的按键进行验证。

 

 

我们还希望这些特性容易实现。我们想利用对于HTML的开发经验,在使用JavaScript时,让编程模型保持一致而强大。我们希望相比于完全由我们自己来开发功能,所需编写的代码量更少。代码少意味着出错的机会小。当你学习Dojo时,你会发现你所掌握的内容对你进一步探索Dojo会大有裨益。当事情变得复杂时,你可以使用工具以辅助调试。简言之,Dojo提供了非常棒的编程环境,绝对值得你期待。

 

 

最后,你可以看到我们会一直惊讶于Dojo带给我们的好处,而这些好处不需要任何额外的工作就可以得到。例如,我们会看到增加的任何特性都可以在各种浏览器中以一致的方式呈现出来。同时我们还会看到用来支持Web的易用性(Accessibility)及国际化(Internationalization)标准的一些可视化元素。

 

我们已经给Dojo带上了高帽。我们要求不少,但却不想费太多劲。Dojo真的行吗?这需要我们去探索。我们首先以一个页面作为增强的基础,通过该页面确定好我们希望解决的各种问题。

 

1.2 一个标准的HTML数据输入表单

 

首先从我们的应用中选出一个页面作为Dojo增强的目标(图1.1)。该页面来自于一个假想的客户服务应用,该应用面向全国的电报公司,它允许客户创建帐号并请求服务。该指南对于我们业务操作的定义很含糊,因为你可能会猜到,该表单就是用来突出很多业务应用都会拥有的一些特定类型的功能。因此如果你能先将怀疑放在一边的话,那就让我们来检查一下该表单。

 

该页面的设计很一般——几乎一点设计都没有。它仅使用了一点样式,就这点样式也是很简单的。你的页面肯定比它强多了,但我们使用该简单设计以让示例保持足够的简单。 

抱歉!评论已关闭.