ZK框架:Ajax开发实战
基本信息
- 原书名: ZK: Ajax without the Javascript Framework
- 原出版社: Apress
- 作者: (美)Henri Chen Robbie Cheng
- 译者: 蔡毅
- 出版社:电子工业出版社
- ISBN:9787121074615
- 上架时间:2008-12-12
- 出版日期:2009 年1月
- 开本:16开
- 页码:167
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > AJAX
内容简介回到顶部↑
本书将为你介绍使用zk框架来轻松地开发ajax应用。你不需要在浏览器端编写用户接口,而且,你可以在服务端使用zk所提供超过160个的java组件来构建应用。有关ajax编程的复杂架构技术都由zk自动在后台进行处理。
书中将告诉读者如何安装并运行zk程序,以及zk如何完成那些后台的处理任务,还对重要的zk组件进行了解释,然后作者会与读者一起创建一个真实的web应用。读者将学到如何设计应用程序的页面、如何访问数据库,以及如何编写控制端代码来协调zk表现层和数据访问层。
本书特别适合那些对ajax感兴趣但是又不愿意学习javascript、css和dom的读者,也适合那些不愿意处理浏览器间不兼容问题的读者。要阅读本书,读者应该具备使用zk来开发web应用所必需的java和html基础知识。
书中将告诉读者如何安装并运行zk程序,以及zk如何完成那些后台的处理任务,还对重要的zk组件进行了解释,然后作者会与读者一起创建一个真实的web应用。读者将学到如何设计应用程序的页面、如何访问数据库,以及如何编写控制端代码来协调zk表现层和数据访问层。
本书特别适合那些对ajax感兴趣但是又不愿意学习javascript、css和dom的读者,也适合那些不愿意处理浏览器间不兼容问题的读者。要阅读本书,读者应该具备使用zk来开发web应用所必需的java和html基础知识。
作译者回到顶部↑
目录回到顶部↑
关于作者
关于技术评审
介绍
第一部分 了解zk ajax框架
第1章 什么是zk ajax框架
1.1 zk ajax框架
1.2 本章小结
第2章 开始zk之旅
2.1 安装java运行时环境
2.2 安装java servlet容器
2.3 部署和测试zkdemo-all.war
2.4 相关的类库
2.5 配置web.xml
2.6 配置zk.xml
2.7 本章小结
第3章 构建你的第一个zk应用
3.1 第一个zk应用:hello world
3.2 第一个zk组件:窗体(window)组件
3.3 将ajax注入到你的zk应用中
3.4 本章小结
关于技术评审
介绍
第一部分 了解zk ajax框架
第1章 什么是zk ajax框架
1.1 zk ajax框架
1.2 本章小结
第2章 开始zk之旅
2.1 安装java运行时环境
2.2 安装java servlet容器
2.3 部署和测试zkdemo-all.war
2.4 相关的类库
2.5 配置web.xml
2.6 配置zk.xml
2.7 本章小结
第3章 构建你的第一个zk应用
3.1 第一个zk应用:hello world
3.2 第一个zk组件:窗体(window)组件
3.3 将ajax注入到你的zk应用中
3.4 本章小结
译者序回到顶部↑
经过近十年来的发展,Web应用从静态HTML页面,发展到动态HTML(DHTML)页面,后来又有了applets和Flash,最终,Ajax技术得以产生(Asynchronous JavaScript and XML)。由于Google Maps和Suggest的成功应用,Ajax在Web应用开发中获得了重视,究其原因在于它提供了与桌面应用同一层次的用户互动和响应体验。与applets和Flash不同,AJax是基于标准浏览器和JavaScript的,它不需要浏览器加载附加的插件。.
Ajax是新一代的DHTML。与DHTML类似,它在很大程度上依赖JavaScript来捕获用户活动产生的事件,然后将页面(通过DOM)在浏览器中动态地展现出来给用户。而且更进一步地是,客户端以一种异步的方式与服务器通信,所获取的页面不需要整个的进行渲染或更新。通过在客户端和服务器中引入这种轻量级的通信机制,Ajax解决了原有的基于页面的模式的弊端。只要设计得当,Ajax可以给Web应用带来与桌面应用同样丰富的组件,而且所有这些组件的内容在应用程序的控制下可以得到动态的更新。
通过提供用户需要的互动体验,Ajax使得本来就已经耗时耗力的Web应用开发更加困难,程序员需要解决的问题更为复杂,所需的技能也更多。开发人员不得不在浏览器中操作DOM,同时使用与服务器不兼容的甚至是很容易产生Bug的JavaScript API来通信。为了获得更好的用户体验,程序员常常需要在浏览器中保存应用数据的部分拷贝内容以及部分业务逻辑。这无疑增加了系统维护的成本,同时在客户端和服务器端保持数据的一致性也是一个挑战。
问题在于,现有的Ajax应用与传统的Web应用在处理请求的方式上没有任何不同。开发人员仍然不得不自己去填平基于页面的模式和无状态模型与现代应用程序需求之间的鸿沟。..
在Ajax技术推出以后,互联网上可以看到很多针对AJax的技术框架,比较优秀的有DWR、DOJO等。相信广大开发人员也都比较熟悉这些框架了,但是当你看了ZK框架时,你会眼前一亮,有一种豁然开朗的感觉。没错,ZK框架的思想是非常棒的。它的口号是Without Javascnpt,是想将Ajax开发人员从繁琐的JavaScript语言中解脱出来。它同时也是基于事件驱动的组件,通过标记语言来设计组件,以简化开发人员的工作。它显著的特点是使用类似XUL的标记语言来定义组件。
在第一次接触到ZK框架的时候,我就感到无比兴奋。第一感觉是,这个框架太成功了。它将Windows桌面式开发模式引入到Ajax的Web应用中,让我感觉也许C/S和B/S模式在不久的将来可以慢慢形成一致,直到看不出什么区别。为此,我一直在ZK的官网上仔细浏览和学习,并将Demo下载到机器上进行研究。最近,我在公司的某个商业项目中成功运用该框架实现系统的部分通用组件,如ComboBox和BandBox等。并准备更深入地研究ZK框架,将其更多的思想运用在开发基于Ajax的应用中。因此,我向大家推荐这本书。
本书是一本ZK框架的实战教程,它分为两个部分。第一部分是了解ZK框架,介绍了ZK框架的基础知识、ZK框架的部署、第一个ZK应用的实现和ZK的一些通用组件。第二部分是应用ZK框架,主要讲解ZK宠物商店应用的思想结构以及实现。这个应用在官网的Demo中可以看到演示效果并且官方网站提供了源代码的下载。我们可以下载后,一步步地跟着书中的指示来完成整个应用的实现。这是非常好的经历,尤其适合刚接触ZK框架或Ajax技术的朋友们。
本文的英文版在ZK官网上已经做了推荐,相信是一本非常好的书。我向博文视点力荐此书后,很快得到了肯定的答复,在这里,我想感谢博文视点的周筠老帅,感谢您对此书的欣赏和对我的信任。同时也要感谢晓菲编辑和赵士威编辑,感谢你们在翻译过程中给予的配合和帮助。最后,我想感谢我亲爱的老婆印印,感谢你在这样的炎炎夏日,支持我这种枯燥乏味的翻译工作,是你的支持和鼓励,才让我更快地顺利完成这次翻译任务。
本人是做开发出身的,在语言组织和润色方面如果有不是很恰当的地方,还请读者朋友们海涵和理解。我是站在开发人员的角度来翻译此书的,对于翻译质量,也希望大家可以多提出宝贵意见,以待下次修订时进行改进。
最后,祝各位读者阅读愉快,事业有成!
蔡毅
2008年8月于武汉...
Ajax是新一代的DHTML。与DHTML类似,它在很大程度上依赖JavaScript来捕获用户活动产生的事件,然后将页面(通过DOM)在浏览器中动态地展现出来给用户。而且更进一步地是,客户端以一种异步的方式与服务器通信,所获取的页面不需要整个的进行渲染或更新。通过在客户端和服务器中引入这种轻量级的通信机制,Ajax解决了原有的基于页面的模式的弊端。只要设计得当,Ajax可以给Web应用带来与桌面应用同样丰富的组件,而且所有这些组件的内容在应用程序的控制下可以得到动态的更新。
通过提供用户需要的互动体验,Ajax使得本来就已经耗时耗力的Web应用开发更加困难,程序员需要解决的问题更为复杂,所需的技能也更多。开发人员不得不在浏览器中操作DOM,同时使用与服务器不兼容的甚至是很容易产生Bug的JavaScript API来通信。为了获得更好的用户体验,程序员常常需要在浏览器中保存应用数据的部分拷贝内容以及部分业务逻辑。这无疑增加了系统维护的成本,同时在客户端和服务器端保持数据的一致性也是一个挑战。
问题在于,现有的Ajax应用与传统的Web应用在处理请求的方式上没有任何不同。开发人员仍然不得不自己去填平基于页面的模式和无状态模型与现代应用程序需求之间的鸿沟。..
在Ajax技术推出以后,互联网上可以看到很多针对AJax的技术框架,比较优秀的有DWR、DOJO等。相信广大开发人员也都比较熟悉这些框架了,但是当你看了ZK框架时,你会眼前一亮,有一种豁然开朗的感觉。没错,ZK框架的思想是非常棒的。它的口号是Without Javascnpt,是想将Ajax开发人员从繁琐的JavaScript语言中解脱出来。它同时也是基于事件驱动的组件,通过标记语言来设计组件,以简化开发人员的工作。它显著的特点是使用类似XUL的标记语言来定义组件。
在第一次接触到ZK框架的时候,我就感到无比兴奋。第一感觉是,这个框架太成功了。它将Windows桌面式开发模式引入到Ajax的Web应用中,让我感觉也许C/S和B/S模式在不久的将来可以慢慢形成一致,直到看不出什么区别。为此,我一直在ZK的官网上仔细浏览和学习,并将Demo下载到机器上进行研究。最近,我在公司的某个商业项目中成功运用该框架实现系统的部分通用组件,如ComboBox和BandBox等。并准备更深入地研究ZK框架,将其更多的思想运用在开发基于Ajax的应用中。因此,我向大家推荐这本书。
本书是一本ZK框架的实战教程,它分为两个部分。第一部分是了解ZK框架,介绍了ZK框架的基础知识、ZK框架的部署、第一个ZK应用的实现和ZK的一些通用组件。第二部分是应用ZK框架,主要讲解ZK宠物商店应用的思想结构以及实现。这个应用在官网的Demo中可以看到演示效果并且官方网站提供了源代码的下载。我们可以下载后,一步步地跟着书中的指示来完成整个应用的实现。这是非常好的经历,尤其适合刚接触ZK框架或Ajax技术的朋友们。
本文的英文版在ZK官网上已经做了推荐,相信是一本非常好的书。我向博文视点力荐此书后,很快得到了肯定的答复,在这里,我想感谢博文视点的周筠老帅,感谢您对此书的欣赏和对我的信任。同时也要感谢晓菲编辑和赵士威编辑,感谢你们在翻译过程中给予的配合和帮助。最后,我想感谢我亲爱的老婆印印,感谢你在这样的炎炎夏日,支持我这种枯燥乏味的翻译工作,是你的支持和鼓励,才让我更快地顺利完成这次翻译任务。
本人是做开发出身的,在语言组织和润色方面如果有不是很恰当的地方,还请读者朋友们海涵和理解。我是站在开发人员的角度来翻译此书的,对于翻译质量,也希望大家可以多提出宝贵意见,以待下次修订时进行改进。
最后,祝各位读者阅读愉快,事业有成!
蔡毅
2008年8月于武汉...
前言回到顶部↑
1994年,我受zApp和Object Window Library(OWL)的启发,开发了一个Windows平台的财务系统。在2000年,我受Struts和WebWorks的影响,开发了另一个J2EE平台的财务系统。回首这两个系统的开发过程,我发现开发Web版本的应用不仅需要掌握更多高级编程技巧和二些先决条件,而且它的开销是普通的CIS结构应用的4倍。最糟糕的是,尽管在装饰了适合的图片和样式表后,外表变得现代化和新鲜了,用户的体验却回到绿色终端的时代。.
我开始怀疑这些问题对于Web而言是否是内在的,或者是编程模型不够简单?回头看看那些20世纪90年代成功的桌面系统,事件驱动和基于组件的编程模型在里面扮演了重要的角色。从易学和易开发的角度而言,这种模型是标准的,也是解决用户接口交互的最好方式。那么在Web应用中可以使用这种模型吗?在使用ZK开发了多个商业项目后,我得出了肯定的答案。
这个答案也是我想在本书中和你分享的内容。ZK框架如何让你的生活更简单,同时让你的客户高兴呢?ZK如何帮助你轻松地编写Web应用呢?你在没有学习JavaScfipt的情况下如何编写一个富Ajax Web应用呢?你如何将焦点集中在提高你的应用本身上,而不用关注更多相关的管道处理代码来保证浏览器的兼容呢?你将在本书中找到答案。
本书将为你介绍如何使用ZK框架来轻松地开发八Jax应用软件。你不需要在浏览器端编写用户接口,而且,你可以在服务端使用ZK所提供的超过160个Java组件来构建应用。有关Ajax编程的复杂架构技术都由ZK自动在后台进行处理了。
在本书中,我们告诉你如何安装并运行ZK程序,以及ZK如何完成那些后台的处理任务,我们还对重要的ZK组件进行了解释:然后一起创建一个真实的Web应用。你将学到如何设计应用程序的页面、如何访问数据库,以及如何编写控制端代码来协调ZK表现层和数据访问层。
我们希望本书可以帮助你摆脱旧的、艰苦的、浪费时间的Ajax Web应用的开发方式。阅读它,看看ZK如何让你的生活变得容易,同时也让你的客户高兴。尽情享受你的Ajax Web编程体验。
本书针对的读者..
本书特别适合那些对AJax感兴趣但又不愿意花时间学习JavaScript、CSS和DOM的读者,也适合那些不愿意处理浏览器间不兼容问题的读者。要阅读本书,你应该具备使用ZK来开发Web应用所必需的Java和HTML基础知识。
本书的主要结构
本书分为两个部分。第一部分“了解ZKAJax框架”,包含了1~4章的内容,主要介绍框架和开发环境的搭建。
·第1章“什么是ZK Ajax框架”包含了一些ZK的基础内容介绍,比如ZK是一个以服务端为中心的框架,它只需要很少的编程工作就可以使用。同时,对ZK架构及ZK如何实现Ajax的思想进行了解释。
·第2章“开始ZK之旅”告诉你如何搭建环境,以及如何对运行ZK框架的Web应用进行部署。
·第3章“构建你的第一个ZK应用”阐述了如何构建基于ZK的著名Hello World Web应用,同时还提供了有关ZK组件之间互操作的一些经验。
·第4章“介绍通用ZK组件”介绍了更多有关使用ZK提供的组件和工具来构建Web应用方面的概念。
本书的第二部分“应用ZK框架”解释了如何构建一个基于ZK的真实应用。
·第5章“搭建开发环境”为你展示了如何搭建Eclipse开发环境。
·第6章“创建———个真实的Web应用”展示了使用ZK框架来实现一个类似著名的Java Pet Store的ZK Pet Shop应用,并且——步——步地进行了详细解释。
·第7章“将GUI和数据库进行链接”探索了如何使用Hibernate来构建持久层,以及ZK的后台处理机制是如何实现的。
·第8章“自动绑定数据”介绍了如何使用ZK的数据绑定机制自动地在GUI和控制器之间移动数据。
下载代码
我开始怀疑这些问题对于Web而言是否是内在的,或者是编程模型不够简单?回头看看那些20世纪90年代成功的桌面系统,事件驱动和基于组件的编程模型在里面扮演了重要的角色。从易学和易开发的角度而言,这种模型是标准的,也是解决用户接口交互的最好方式。那么在Web应用中可以使用这种模型吗?在使用ZK开发了多个商业项目后,我得出了肯定的答案。
这个答案也是我想在本书中和你分享的内容。ZK框架如何让你的生活更简单,同时让你的客户高兴呢?ZK如何帮助你轻松地编写Web应用呢?你在没有学习JavaScfipt的情况下如何编写一个富Ajax Web应用呢?你如何将焦点集中在提高你的应用本身上,而不用关注更多相关的管道处理代码来保证浏览器的兼容呢?你将在本书中找到答案。
本书将为你介绍如何使用ZK框架来轻松地开发八Jax应用软件。你不需要在浏览器端编写用户接口,而且,你可以在服务端使用ZK所提供的超过160个Java组件来构建应用。有关Ajax编程的复杂架构技术都由ZK自动在后台进行处理了。
在本书中,我们告诉你如何安装并运行ZK程序,以及ZK如何完成那些后台的处理任务,我们还对重要的ZK组件进行了解释:然后一起创建一个真实的Web应用。你将学到如何设计应用程序的页面、如何访问数据库,以及如何编写控制端代码来协调ZK表现层和数据访问层。
我们希望本书可以帮助你摆脱旧的、艰苦的、浪费时间的Ajax Web应用的开发方式。阅读它,看看ZK如何让你的生活变得容易,同时也让你的客户高兴。尽情享受你的Ajax Web编程体验。
本书针对的读者..
本书特别适合那些对AJax感兴趣但又不愿意花时间学习JavaScript、CSS和DOM的读者,也适合那些不愿意处理浏览器间不兼容问题的读者。要阅读本书,你应该具备使用ZK来开发Web应用所必需的Java和HTML基础知识。
本书的主要结构
本书分为两个部分。第一部分“了解ZKAJax框架”,包含了1~4章的内容,主要介绍框架和开发环境的搭建。
·第1章“什么是ZK Ajax框架”包含了一些ZK的基础内容介绍,比如ZK是一个以服务端为中心的框架,它只需要很少的编程工作就可以使用。同时,对ZK架构及ZK如何实现Ajax的思想进行了解释。
·第2章“开始ZK之旅”告诉你如何搭建环境,以及如何对运行ZK框架的Web应用进行部署。
·第3章“构建你的第一个ZK应用”阐述了如何构建基于ZK的著名Hello World Web应用,同时还提供了有关ZK组件之间互操作的一些经验。
·第4章“介绍通用ZK组件”介绍了更多有关使用ZK提供的组件和工具来构建Web应用方面的概念。
本书的第二部分“应用ZK框架”解释了如何构建一个基于ZK的真实应用。
·第5章“搭建开发环境”为你展示了如何搭建Eclipse开发环境。
·第6章“创建———个真实的Web应用”展示了使用ZK框架来实现一个类似著名的Java Pet Store的ZK Pet Shop应用,并且——步——步地进行了详细解释。
·第7章“将GUI和数据库进行链接”探索了如何使用Hibernate来构建持久层,以及ZK的后台处理机制是如何实现的。
·第8章“自动绑定数据”介绍了如何使用ZK的数据绑定机制自动地在GUI和控制器之间移动数据。
下载代码
书摘回到顶部↑
第1章什么是ZK Ajax框架
在过去的十年里,Web应用的发展从最初的静态HTML页面到动态HTML(DHTML)页面,从使用applet和Flash技术到最终的混合式Ajax(异步JavaScript和XML)技术。Ajax的两个杰出的例子是Google Map和Google Suggest。Ajax为Web应用提供了类似桌面应用程序同级别的交互方式和响应,给Web应用增添了活力。但是,和applet或Flash不一样的是,Ajax是基于标准浏览器和Java Script的,它不需要任何私有插件的介入。
Ajax是下一代的DHTML。因此,它严重依赖于JavaScript来监听用户活动所触发的事件,并在浏览器中动态地操纵页面的展现(即文档对象模型,或称DOM技术)。
那么,你如何能够很容易地将Ajax集成到你的Web页面中去呢?可以使用ZK框架。它和许许多多其他的Ajax框架不一样,ZK不需要你懂得Java Script语言就可以开发基于Ajax的应用,因为ZK引擎会自动为你生成JavaScript代码。你只需要懂少许的HTML语言就可以使用ZK开发一个Web应用。为了简化Web应用的开发,ZK团队还定义了一种ZK用户接口标识语言ZUML(ZK User Interface Markup Language),它为创建ZK组件提供了一种直观的方式,可以通过简单的声明像HTML格式那样的闭合式标签来实现。
让我们来看看ZK官方网站提供的现场演示(Live Demo)页面,体验一下ZK的魔力吧(http://www.zkoss.org/zkdemo/userguide)。这个Live Demo页面提供了各种不同的基于Ajax的ZK组件范例,并为你提供了方便你进行亲身体验的在线程序。你可以在这里修改每个在线范例的源代码,并且可以马上看到修改后的运行结果。
……
在过去的十年里,Web应用的发展从最初的静态HTML页面到动态HTML(DHTML)页面,从使用applet和Flash技术到最终的混合式Ajax(异步JavaScript和XML)技术。Ajax的两个杰出的例子是Google Map和Google Suggest。Ajax为Web应用提供了类似桌面应用程序同级别的交互方式和响应,给Web应用增添了活力。但是,和applet或Flash不一样的是,Ajax是基于标准浏览器和Java Script的,它不需要任何私有插件的介入。
Ajax是下一代的DHTML。因此,它严重依赖于JavaScript来监听用户活动所触发的事件,并在浏览器中动态地操纵页面的展现(即文档对象模型,或称DOM技术)。
那么,你如何能够很容易地将Ajax集成到你的Web页面中去呢?可以使用ZK框架。它和许许多多其他的Ajax框架不一样,ZK不需要你懂得Java Script语言就可以开发基于Ajax的应用,因为ZK引擎会自动为你生成JavaScript代码。你只需要懂少许的HTML语言就可以使用ZK开发一个Web应用。为了简化Web应用的开发,ZK团队还定义了一种ZK用户接口标识语言ZUML(ZK User Interface Markup Language),它为创建ZK组件提供了一种直观的方式,可以通过简单的声明像HTML格式那样的闭合式标签来实现。
让我们来看看ZK官方网站提供的现场演示(Live Demo)页面,体验一下ZK的魔力吧(http://www.zkoss.org/zkdemo/userguide)。这个Live Demo页面提供了各种不同的基于Ajax的ZK组件范例,并为你提供了方便你进行亲身体验的在线程序。你可以在这里修改每个在线范例的源代码,并且可以马上看到修改后的运行结果。
……







点击看大图



加载中...
