独立的GWT配置单元被称为GWT模块。GWT编译项目所需要的设置信息都存放在GWT模块定义文件中。
这些模块信息包括:
模块入口点,模块继承信息,源代码路径设置,资源文件路径设置和延迟绑定规则。
1。模块入口点,使用javascript编写ajax时,windows onload事件是ajax程序的入口点,GWT中模块也有入口点。实现
EntryPoint接口的类可以作为GWT入口点。EntryPoint接口代码如下:
package com.google.gwt.core.client;
public interface EntryPoint{
void onModuleLoad();
}
在EntryPoint接口中,只需要实现一个函数onModuleLoad,这个函数在模块装载完成后被调用。在GWT模块中可以配置多
个入口点。当模块装载完成后,这些已注册的入口点的类都会被实例化,然后执行onModuleLoad函数。
2。模块继承
在模块定义文件中使用inherits元素继承其他模块,name属性值为被继承模块的模块名称,例如:
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.google.gwt.user.theme.standard.Standard'/>
注意:应当仅继承需要的模块,继承没用 的模块会增加编译时间。
GWT预置了三个卢肤模块:Chrome,Dark,Standard!
GWT还可以修改 .css 文件来改变模块的css样式。
GWT还可以自定义js,如果使用外部的js,必须在模块的.gwt.xml里边引用js文件。
例如:<script src='引用js路径'/>
3.路径配置
增加GWT模块时,在模块定义文件中添加source元素可以设置 GWT编译源代码路径, path属性值为需要编译的源代码包路径。如:
<source path="模块文件夹名称">
4。延迟绑定
不同的浏览器对html ,css,javascript的解释存在差异,使用javascript编写ajax程序时,我们会用if(agent.indexOf("msie"))
{} else if agent.indexOf("mozilla") {} else..这样的语法来针对不同的浏览器平台使用不同的实现。
GWT使用延迟绑定技术来为不同的浏览器加载不同的javaScript代码。
使用延迟加载的好外:
1。减少浏览器需要下载的js文件 大小,GWT只返回针对特定浏览器需要的代码。
2。节约开发时间 ,GWT自动生成接口代码及代理类。
3。在编译时进行预绑定,因此没有类似于动态绑定或虚函数这样运行时开销。