GWT与SmartGWT应用简单例子

JimmyblyLee 2012-08-14

一.为什么我们选择GWT?

Google 网页工具包 (GWT),可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的 JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。在开发过程中,您可以用 JavaScript 按照您习惯的相同“编辑 - 刷新 - 查看”循环快速反复,还有另一个好处就是能够调试和逐行单步调试 Java 代码。准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google 网页工具包可以轻松地为现有网页或整个应用程序构建一个 Widget。

使用Java语言编写AJAX应用程序,然后编译为优化的JavaScript

与仅在文本级别运行的JavaScriptMinifier不同,GWT编译器会在整个GWT代码库中执行综合性静态分析和优化,通常生成的JavaScript加载和执行均比等效手写的JavaScript更快。例如,GWT编译器可以安全地消除无用代码--极大的减少不使用的类、方法、字段甚至方法参数--以确保您编译的脚本尽可能最小。另一个示例:GWT编译器选择性地内联方法,消除方法调用的性能开销。

交叉编译提供了开发所需的可维护的抽象方法和模块性,而不会导致运行时性能损失。

二.为什么会选择SmartGWT?

SmartGWT是一个利用GWT封装SmartClient的开源项目。类似于GWT-Ext。SmartClient是一个企业级的ajax框架,包括非常出色的UI库、工具库和客户端服务端数据绑定等功能。

看看它的Dome,你就会为它的功能所折服的。

http://www.smartclient.com/smartgwt/showcase/

三.GWT与SmartGWT整合

1.下载SmartGWT2.0,在这里,http://code.google.com/p/smartgwt/downloads/list

解压,里面包括smartgwt.jar,smartgwt-skins.jar两个jar文件,API以及几个dome。

2.假定你已经配置好Eclipse下开发GWT的环境,如果你还没有配置好,请看这里:

http://code.google.com/webtoolkit/usingeclipse.html

3.在Eclipse下,新建项目firstSmartGWT,包名:com.mycompany.app

可以看到它已经给你生成了一个helloworld的例子。

4.引入smartGWT相关的jar包,右击项目,buildpath,addexternalArchives,如后选择smartgwt.jar,smartgwt-skins.jar引入。

5.修改FirstSmartGWT.html

在war包下面,打开FirstSmartGWT.html,添加SmartGWT的资源引用模块(红色部分),其中firstsmartgwt为项目名的全部小写名称。

package com.mycompany.app.client;  
  
import com.google.gwt.core.client.EntryPoint;  
import com.smartgwt.client.util.SC;  
import com.smartgwt.client.widgets.IButton;   
import com.smartgwt.client.widgets.events.ClickEvent;  
import com.smartgwt.client.widgets.events.ClickHandler;  
  
/** 
 * Entry point classes define <code>onModuleLoad()</code>. 
 */  
public class FirstSmartGWT implements EntryPoint {  
      
    /** 
     * This is the entry point method. 
     */  
    public void onModuleLoad() {  
          
        IButton button = new IButton("点我");  
        button.addClickHandler(new ClickHandler() {     
              
            @Override  
            public void onClick(ClickEvent event) {  
                // TODO Auto-generated method stub  
                SC.say("恭喜你,GWT和SmartGWT集成好了。");      
            }     
        });  
          
          
        button.draw();  
    }  
}  

 9.至此GWT和smartGWT集成完毕。

相关推荐

kingwt / 0评论 2015-05-18