基本信息
- 原书名:Google Web Toolkit Applications
- 原出版社: Addison-Wesley Professional
- 作者: (美)Ryan Dewsbury
- 译者: 秦绪文 李松峰
- 丛书名: Google核心技术丛书
- 出版社:机械工业出版社
- ISBN:9787111248859
- 上架时间:2008-10-10
- 出版日期:2008 年9月
- 开本:16开
- 页码:439
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 网络编程 > 综合

编辑推荐
本书为Web开发者使用GWT创建富Web应用程序,并向用户交付非同凡响的用户体验提供了必要的核心知识及使用指南。在这本实用性极强的书中,Ryan Dewsbury从权威人士的独特视角出发,以全面翔实的GWT技术阐释为基础,向读者详细解释了如何使用可靠的工具,创建一流的Web应用程序
内容简介
计算机书籍
本书为Web开发者使用GWT创建富web应用程序,并向用户交付非同凡响的用户体验提供了必要的核心知识及使用指南。在这本实用性极强的书中,Ryan Dewsbury从权威人士的独特视角出发,以全面翔实的GWT技术阐释为基础,向读者详细解释了如何使用可靠的工具,创建一流的Web应用程序。
全书共10章,包括Google Web Toolkit简介、用户界面库、服务器整合技术、Ajax应用程序开发中的软件工程、高效使用GWT、Gadaget desktop用程序、Multi-Search应用程序、Bolg Editor应用程序、Instant Messenger应用程序以及Database Editor应用程序等内容。
作译者
目录
第一部分 理解Google Web Toolkit
第1章 Google Web Toolkit简介
1.1 Ajax崭露头角
1.2 重新定义web应用程序
1.2.1 Adobe的Flash与Flex
1.2.2 微软的Silverlight
1.2.3 Java FX
1.3 基于Ajax的软件工程
1.3.1 通过部件和面板构建丰富的用户界面
1.3.2 利用异步通信获得更好的性能
1.3.3 通过Web标准和Web服务提供互操作性
1.3.4 使用Java工具提高开发效率
1.4 职业背景评估
1.4.1 Web设计者
1.4.2 网站开发者
1.4.3 Ajax开发者
1.4.4 Web应用程序开发者
1.4.5 桌面应用程序开发者
1.5 应用程序开发技能的重要性
前言
我决定抽时间写一个客户端应用程序,它带给用户的优雅体验,就如同开发者看到写得漂亮的代码一般。我选择了构建一个即时消息服务,主要通过C++来开发,这个应用程序将4种主要的网络组合到了一个界面中。那时候,即时消息软件的功能日益膨胀——众多按钮令只想发送一条简单的文本消息的用户感到无所适从。而我所开发的这个即时消息程序则能够给用户带来更好的体验:用户不必下载IOMB的客户端,也无需经历5步的安装过程,经过我的优化,这个程序只有200KB,而且界面整洁(很像我们今天使用的GoogleTalk)。结果,这个程序获得了百万级的下载量。
在使用C++开发界面的过程中,创建漂亮的网页界面是那样简单,而我总是对此印象深刻。其实,只要将c++与层叠样式表中设置字体的代码作一比较,你就会明白我的意思。随后,Ajax开始流行,而通过Ajax也能构建类似桌面应用程序的Web应用。加之使用CSS能轻易得到漂亮的外观,因此AJax就成为人们更好的界面开发平台。
当我第一次看到Google Maps时,我确实被深深地触动了。那种用户体验简直太棒了!只要在浏览器中输入Amaps.google.com,马上就能使用一套全功能的地图应用程序。既可以在各个方向上拖动地图,也可以让它带着你周游世界,而且无论放大还是缩小都无需等待页面刷新。于是,我大概地看了一下实现这些功能所需的技术——尤其是JavaScript,结果非常令人失望。我知道使用JavaScript存在着很多的局限性。由于这些局限性,几乎不可能用它来构建一个大型复杂的客户端应用程序。
后来,GoogleWebToolkit(GWT)发布了。我决定用它来试着编写一个应用程序。只用了3周时间,我就构建完成了poker应用程序的客户端和服务器端。我把它放到了http://gpokr.comk。只要在浏览器中加载这个URL,就可以立即启动一个实时的poker游戏。无需下载、无需安装,而且通过CSS能够为界面添加漂亮的样式。GWT团队的Scott Blum、Bruce Johnson以及JoelWebb“,都闻讯前来“测试”。因此,我也有了一个向他们道谢的机会,感谢他们开发了这个令人惊叹的工具。最让我激动不已的就是,GWT编译器能够把优美的Java代码转换成JavaScript。于是,任何人都可以创建向用户交付美好体验的应用程序,而可靠的GWT则给我留下了深刻的印象。
在GWT首次发布之后,我发现许多人还对它的强大功能一无所知。显然,最好能有一本书通过实例向大家展示GWT各方面的能力。此前,我没有写书的经验,而且写一本并非我专业的技术书,看起来似乎也不合适。不过,当时可以说也没有什么人对GWT很在行。出于对这一技术的信赖,我决定试一试。为了弥补经验的不足,在动笔写这本书之前,我先用几个月的时间专门开发了一些GWT应用程序。通过这些应用程序的开发,我探索了GWT中的各个部分,也搞清了GWT可能会涉及的所有Web技术。本书的第二部分展示了这些应用程序。
本书重点内容
本书讲解如何使用Web技术和Java开发工具,以GWT为桥梁,创建能为用户提供卓越体验的AJax应用程序。本书的焦点主要是Google WebToolkit,同时也深入介绍了它提供的库和工具。作为第二个焦点,本书也讨论了使用Java的软件开发技术和模式,以及如何使用GWT来开发Ajax应用程序。第三个焦点是Web技术,包括Web标准和其他八jax库及API。
本书读者对象
作为一名开发者,我写这本书的目的,是为了给其他开发者看。如果你想要创建面向用户的应用程序,那么你应该看这本书。本书中的大部分代码都基于Jaya,但由于精心编排,本书也适合Java语言初学者阅读。如果你想看这本书,但又不懂Java,那么就需要在阅读本书之前先学习Java。Sun公司为学习Jaya的并发者提供了丰富的在线教程,在http://java.sun.com/docs/books/tutorial/java/index.html可以找到。..
对于Java开发者而言,GWT不仅仅是一个Ajax工具。在我看来,这种观点严重低估了GWT的能力。虽然Java开发者使用它会感觉很简单;但是,只要想构建不同凡响的Ajax应用程序,那么无论你是.NET、PttP、Ruby开发者,还是C++开发者,这本书同样也适合你。假如你是上述开发者之一,想要掌握另一个门语言来构建AJax应用程序——无论用不用GWT;那么,我的建议是学习Java——从前面提到的Sun公司的在线教程开始,并通过本书来学习GWT,以及学习http://code.google.com/webtoolkit/documentation/中的GWT文档,而不是学习JavaScript。这样,你就会节省大量时间用于测试和维护应用程序,同时还能创造出更好的用户体验。
本书结构
本书分为两部分。第一部分是对GoogleWebToolkit的深入介绍。可以将这一部分作为GWT库的参考,或者作为使用GWT中高效开发技术的指南。第二部分全面剖析了5个通过GWT构建的不同凡响的应用程序。这一部分将介绍应用程序设计与开发过程中涉及到的开发模式、方法和技巧。这一部分中的每个应用程序,都是对GWT库的应用、Web服务、技术搭配、应用程序设计和架构,以及用户界面设计等因素综合考量的结果。在阅读这些章节时,读者可以在自己的机器中同步构建应用程序。虽然每一章都包含大部分相关代码,但在讲解某些实例时,读者可能需要根据提示查看本书的源代码。本书的源代码可以在WWW.gwtapps.com下载到(打开页面后单击左侧栏中BookForum链接,然后单击“文件”,再选择下载各章的代码或全部源代码)。
第一部分:理解GoogleWebToolkit
第1章,GoogleWebToolk“简介。讨论了Web技术、能力组合及GWT。最后展示了一个创建Ajax游戏应用程序的简短教程。
第2章,用户界面库。详细介绍了GWT提供的用户界面库,主要围绕每个部件的用法,由说明和例子构成。
第3章,服务器整合技术。讨论了与服务器端应用程序进行整合的几种方法。
第4章,Ajax应用程序开发中的软件工程。着眼于用于软件开发的Java工具,以及如何将这些工具应用到GWT开发中。
第5章,高效使用GWT。揭示了GWT开发中的一些高级技术,包括CSS、代码生成、国际化以及性能优化。
第二部分:创建富Web应用程序
媒体评论
——Bruce Johnson,Google Web Toolkit创建者
书摘
第1章 Google Web Toolkit简介
1.1Ajax崭露头角
21世纪初,随着.com泡沫的破灭和浏览器战争的平息,许多公司都不再看好发展W曲技术的前景,从而导致原先预示着未来方向的许多技术开发停止。然而,浏览器和它们共有的Web标准的实现得以保留了下来。
某些根本性的差异渐趋明朗。新Web技术的研究放慢了脚步。开发者们专注于创建清晰的HTML、使用优雅的CSS(Cascading Style Sheets,层叠样式表)和提升JavaScript技能。软件工具厂商实际上已经停止兜售他们承诺会令用户叫绝的新技术,人们也无需永无停歇地学习新知识。转眼间,我们都成了某一技术领域的专家,成了确保股票市场不会崩盘的中坚力量。
这一轮“新Web”发展的焦点,是在添加另外一层之前,掌握最基本的web技术。开发者们没有再次使用新技术构建旧应用,而是致力于革新旧技术。同以前相比,更多的非技术人群对使用Web应用程序乐在其中。而且,在某些领域,这些应用程序比类似的桌面应用程序表现得还要出色。也许是今天的Web应用程序具有相对轻便的计算机加载特性,使得安装笨重的软件相形见绌。也许是设计师们对CSS充分地理解使得Web界面的设计和可用性具有了超前的征兆。无论如何,新Web给人的感觉真好。
博客和社区网络等以人为本的应用程序带来了Web的繁荣——应用程序与Web完美地融为一体。用户能够通过类似文档的结构,进行搜索和浏览。然而,管理这些新型的应用程序并没有看起来那么简单。当用户登录到博客服务管理博客中的文章时,由于文章遵循相同的文档浏览结构,导致这一任务十分笨拙:首先,用户提交他们的凭证并等待账户页面加载,然后,选择想要管理的部分并等待该部分的页面加载……。这个过程涉及相继加载一系列文档,因而导致了乏味而且不一致的用户体验。虽然相继加载页面是Web与生俱来的天性,而且也能够完美地适用于许多任务,但有效地管理博客则需要完全不同的方式。
……