`
vwpolo
  • 浏览: 193808 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Web 2.0 之 GWT 体验

阅读更多

   作为一种使基于 Web 的应用程序更加生动的方法,Asynchronous JavaScript + XML (Ajax) 和 Web 2.0 的概念已经在开发社区中广泛应用,而且相对Web 1.0Web 2.0 在用户体验方面带来了巨大提升,我们已经很难接受浏览器从服务器上接受消息显示的时候将整个页面重新加载一遍,即使是只需要更新小小的一块区域也要重新加载,在网速慢时,中间会出现白屏,这简直会让人抓狂。随着AJAX的出生和应用,提交信息到服务器并显示反馈的信息是,只需要上面的小圈转几圈,不需要刷新整个页面,就能立刻看到结果了。

  在AJAX应用方面,Google应该算是先行者了,Google的大多数服务都基于AJAX应用的,比如GMailGDoc,还有搜索框的动态提示等。Google也推出了自己的AJAX框架,那就是GWT了,全名是Google Web Toolkit,采用了一种不寻常的方式进行 Web 应用程序开发,它没有采用客户端和服务器端代码库的普通隔离,而是提供了一个 Java API,这样的话可以让GWT支持用 Java 开发和调试 Ajax 应用,该 API 允许创建基于组件的 GUIGWT 支持 java.lang 和 java.util 包的子集,还支持 GWT 自身提供的 API。编译后的 GWT 应用程序由 HTMLXML 和 JavaScript 片段组成,从而在用户的 Web 浏览器上显示它们,与一般的 Web 应用程序开发体验相比,使用 GWT 更接近于使用 Swing 或 SWT 进行开发(其实风格更偏向与Swing),它还试图将 HTTP 协议和 HTML DOM 模型抽象出去。实际上,应用程序最终几乎总是会呈现在 Web 浏览器中。

  GWT能如此引起大家的注意,我认为由以下几大方面的特性:GWT提供的组件库使用户可以很容易的开发出漂亮的UI;使用GWT,可以方便的实现客户端和服务器端的通信,特别是使得异步通信变的非常简单;提供更方便的调试功能,可以使用EclipseDebug功能调试代码;最吸引人的莫过于用户在开发的时候不必担心浏览器的兼容性问题,因为使用GWT开发出来的程序会支持IEFirefoxMozillaSafariOpera

   我们可以在Google Code网站上下载最新的GWT开发工具包,截止目前为止,最新的GWT工具包为:gwt-windows-1.6.4,现在有一个Cypal Studio for GWT的插件,可以简化GWT开发,而且值得一提的是Instantiations公司也就是开发SWT-Designer的那家公司提供了GWT-Designer开发工具,支持可视化开发,非常的方便,又兴趣开发GWT应用的朋友可以尝试一个GWT-Designer看看,个人觉得非常的棒。不过目前GWT Desinger不支持最新的1.6.*版本

  Gwt-windows工具包附带了几个GWTDemo,在解压目录下的index.html文件中。打开index.html文件的最下面可以看到一下几个Demo的链接



 

 

 例子有入门级的Hello World,也有复杂的控件展示例子,我们来看一下用GWT开发的Mail例子:



 

  我们来研究一个GWT的配置文件,比如这里的com.google.gwt.sample.mail包下面的Mail.gwt.xml文件,内容很简单,只是配置了模块的启动类:

<module rename-to="mail">
	<inherits name='com.google.gwt.user.User'/>
	<entry-point class='com.google.gwt.sample.mail.client.Mail'/>
</module>

 

 

  inherits name指定启动模式,这里是客户端模式,entry-point就是这个模块的启动类,这个指定的启动类必须实现EntryPoint接口,并实现onModuleLoad方法,这个方法在模块启动时调用,我们可以在这个方法编写创建界面的代码。

  在Mail.gwt.xml文件上右键弹出菜单选择Run As -> GWT Hosted Mode Application,启动GWT应用:

 

 

 

  例子都提供了源代码,我们可以将他们放入到Eclipse的工作区来研究,如果我们按照了GWT-Desinger插件的话,可以新建一个GWT 工程,系统会自动创建一个.gwt.xml文件,里面可以配置负责模块启动的启动类,如果未按照GWT开发插件,也可以新建一个Java工程,然后将源代码按照路径复制到工程中,手工添加一个.gwt.xml文件,再添加那些GWTjar包到工程的构建路径上。



 

  之后就能看到运行结果了。

  用了GWT后发现,单纯用GWT来开发系统的话比较的麻烦,毕竟正如它的名字一样,这只是一个工具,还缺少一个框架的设计经验,如果能够结合Struct或者JSF的话,估计发展潜力应该不错,毕竟GWT的背后是财大气粗的Google和一伙天才。

 

 

  • 大小: 30.7 KB
  • 大小: 123.5 KB
  • 大小: 17.6 KB
  • 大小: 84.4 KB
分享到:
评论
7 楼 witcheryne 2009-12-14  
yiminghe 写道
挺讨厌这种 java 生成 javascript+xhtml+css 的 ,脚本多灵活,java多死板。。。。

在java中可以灵活的使用设计模式...  RPC调用很直观....
GWT 只是个工具箱而已。  用的熟练都灵活,用的不熟练都死板...
6 楼 witcheryne 2009-12-14  
atomom 写道
能灵活的支持java的反射机制就好了。
网上的gwt的支持反射的那个项目好烂,麻烦的要死。说白了就是搞个映射关系而已。

为什么非要用反射机制... Gwt中的 延迟绑定可以用来解决这个问题:

http://code.google.com/docreader/#p=google-documentation-reader,google-web-toolkit-doc-1-6,google-web-toolkit-doc-1-5&s=google-web-toolkit-doc-1-5&t=DevGuideDeferredBindingConcepts
5 楼 atomom 2009-12-13  
能灵活的支持java的反射机制就好了。
网上的gwt的支持反射的那个项目好烂,麻烦的要死。说白了就是搞个映射关系而已。
4 楼 vwpolo 2009-06-08  
x98zero 写道

&nbsp; GWT华丽的外表下,N多的限制,如此多的Java限制,仅仅模拟了那么小范围的Java语言,扼杀了Java诸多精彩的应用,GWT想说爱你不容易,看着isuue列表里的记录,一个2006年提出的改进意见,居然到了2009睬都不睬,好的你google不踩,我自己来拓展!!

呵呵,很欣赏老兄你的豪气
3 楼 x98zero 2009-06-08  
  GWT华丽的外表下,N多的限制,如此多的Java限制,仅仅模拟了那么小范围的Java语言,扼杀了Java诸多精彩的应用,GWT想说爱你不容易,看着isuue列表里的记录,一个2006年提出的改进意见,居然到了2009睬都不睬,好的你google不踩,我自己来拓展!!
2 楼 mazzystar 2009-05-20  
yiminghe 写道
挺讨厌这种 java 生成 javascript+xhtml+css 的 ,脚本多灵活,java多死板。。。。

不过java应该容易维护
1 楼 yiminghe 2009-05-19  
挺讨厌这种 java 生成 javascript+xhtml+css 的 ,脚本多灵活,java多死板。。。。

相关推荐

    Pro web 2.0 application development with GWT

    ### GWT与Web 2.0应用开发 #### 一、引言 随着互联网技术的飞速发展,Web 2.0已经成为现代网络应用的重要组成部分。Google Web Toolkit(GWT)作为一种强大的工具集,为开发者提供了创建高效、交互性强的Web 2.0...

    Pragmatic Ajax A Web2.0 Primer(国外经典)

    《Pragmatic Ajax A Web2.0 Primer》是一本深入探讨Web 2.0核心...通过阅读《Pragmatic Ajax A Web2.0 Primer》,开发者可以全面了解Ajax技术,掌握如何在不同的开发环境中运用Ajax,提升Web应用的交互性和用户体验。

    Professional Web 2.0 Programming

    1. **Ajax(异步JavaScript和XML)**:Web 2.0的核心技术之一,它允许在不刷新整个页面的情况下更新部分网页内容,提升用户体验。书中可能详细解释了Ajax的工作原理、创建Ajax请求的方法以及如何处理响应。 2. **...

    SmartGWT2.0 API

    SmartGWT 2.0 API 是一款基于Google Web Toolkit (GWT) 2.0的高级组件库,它为开发者提供了丰富的用户界面组件和强大的功能,以构建高性能、交互式的Web应用程序。SmartGWT 2.0 在其前身的基础上进行了多方面的改进...

    Apress.Pro.Web.2.0.Application.Development.with.GWT.May.2008

    ### GWT与Web 2.0应用开发 #### 核心知识点概述 本书《Pro Web 2.0 Application Development with GWT》由Jeff Dwyer撰写,深入探讨了使用Google Web Toolkit (GWT)进行Web 2.0应用程序开发的专业技术和最佳实践。...

    GWT-EXT2.0最佳实践教程,源代码打包供下载

    《GWT-EXT2.0最佳实践教程》源代码打包下载资源主要涵盖了Google Web Toolkit (GWT) 和EXT-JS 2.0的结合使用,提供了丰富的实践案例和示例代码,旨在帮助开发者深入理解和应用这两项技术。GWT是一款强大的JavaScript...

    GXT2.0 EXT=GWT !!!!

    GXT(Ext GWT)是Sencha公司开发的一个开源项目,它扩展了GWT的功能,使得开发者可以更容易地创建复杂的、具有桌面应用般用户体验的Web应用。GWT本身是一个Java到JavaScript的编译器,它允许开发者使用Java语言进行...

    Web2.0动态网站开发—JSP技术与应用.rar(书中源码)

    Web2.0特性,如AJAX(异步JavaScript和XML)和富互联网应用程序(RIA),与JSP结合使用可以提供更流畅、更具互动性的用户体验。JSP可以通过引入JavaScript库,如jQuery,来实现AJAX通信,通过后台服务器与前端进行...

    gwt2.0版本

    在GWT 2.0版本中,它为开发者提供了丰富的功能和改进,使得JavaScript编程变得更加简单,同时提高了应用程序的性能和用户体验。 GWT的核心理念是允许开发者使用Java语言来编写前端代码,然后通过编译器将其转换为...

    Ext + Gwt + Struts2.0开发4

    在本文中,我们将探讨如何使用Ext、Gwt和Struts2.0这三种技术结合进行Web应用开发。首先,理解每个技术的核心概念是至关重要的。 **Ext** 是一个JavaScript库,用于构建富客户端应用程序,提供了丰富的用户界面组件...

    Ext GWT 2.0: Beginner's Guide

    《Ext GWT 2.0: Beginner's Guide》是一本专为初学者设计的指南,旨在帮助读者快速掌握Ext GWT 2.0这一强大的Web应用程序开发框架。这本书结合了理论与实践,提供了丰富的示例代码和源码,使得学习过程更加直观和...

    Ext GWT 2.0 Beginner’s Guide

    《Ext GWT 2.0 初学者指南》是一本专为希望提升网站用户体验的开发者设计的书籍,由Daniel Vaughan撰写。本书旨在帮助读者掌握Ext GWT这一强大的框架,通过详细的指导和实例,使读者能够迅速上手并利用Ext GWT开发出...

    Ext GWT 2.0 Beginner's Guide

    《Ext GWT 2.0 Beginner's Guide》是一本专为初学者设计的指南,旨在帮助读者深入了解Ext GWT框架的核心概念及其在Web开发中的应用。本书由Daniel Vaughan撰写,版权属于Packt Publishing,并于2010年首次出版。 ##...

    GWT API ( v2.0)

    GWT 2.0的核心特性之一是其Java编程模型,它为Web开发提供了丰富的类库和API,使得开发者可以像编写桌面应用一样编写Web应用。这一模型包括UI组件、事件处理、异步服务调用等。 2. **UI构建**: `stylesheet.css`...

    SD大会精品讲座:运用AJAX开发Web-2.0应用

    随着互联网技术的快速发展,Web 2.0已经成为网络应用的重要趋势之一。它强调用户参与、互动以及个性化服务,而AJAX(异步JavaScript与XML)作为实现Web 2.0的关键技术,在此过程中扮演着至关重要的角色。本篇讲座由...

    Ext GWT 2.0, Beginner's Guide

    这本书将引导读者逐步学习如何利用Ext GWT创建功能丰富的、用户体验优秀的Web应用。 首先,我们要了解GWT的基本概念。Google Web Toolkit是一个Java到JavaScript的编译器,允许开发者使用Java语言编写前端代码,并...

    Ext + Gwt + Struts2.0开发1

    总的来说,通过Ext、Gwt和Struts2.0的集成,开发者可以构建出功能强大、用户体验优秀的Web应用。在Eclipse这样的集成开发环境中,可以充分利用各种工具和插件,提高开发效率和代码质量。同时,理解这三者的功能和...

Global site tag (gtag.js) - Google Analytics