GWT (Google Web Toolkit )是Google公司的两位工程师在2006年SUN ONE会议上首次提出的一套开发工具。与以往的很多JS和AJAX的框架或工具不同,GWT是专门为方便JAVA开发者开发JS和AJAX程序而设计的。由于其实用性及强大的功能,GWT刚一推出就受到了业界的关注并很快开始流行起来。
GWT本质上是一套JAVA的API。它让开发者得以用JAVA语言开发客户端WEB程序然后将其交叉编译成JS代码,这样,即使开发者不熟悉JS和AJAX,也能开发出功能丰富,兼容性良好的客户端WEB程序了,同时,在开发的过程中,开发者也能利用JAVA平台的众多的IDE及API进行开发,调试,极大的提高了效率。
GWT主要由以下几个组建构成:
GWT本质上是一套JAVA的API。它让开发者得以用JAVA语言开发客户端WEB程序然后将其交叉编译成JS代码,这样,即使开发者不熟悉JS和AJAX,也能开发出功能丰富,兼容性良好的客户端WEB程序了,同时,在开发的过程中,开发者也能利用JAVA平台的众多的IDE及API进行开发,调试,极大的提高了效率。
GWT主要由以下几个组建构成:
- JS的编译器,这也是GWT最主要的组成部分,它负责将JAVA代码编译成JAVASCRIPT代码。用户可以通过设置参数来控制JS的输出,为不同的浏览器产生不同的JS代码,从而保证代码在不同浏览器中的可用性。
- GWT RPC。GWT提供了自己的异步远程调用方式,RPC,开发者可以通过其来让客户端程序和服务端程序实现异步交互,GWT封装了所有的细节,因此其实现过程非常简单。此外,GWT还提供了AJAX类型的异步调用方式,开发者可以通过其来取回服务端JSON或XML数据。
- UI组件。与EXT JS等专门实现web界面的程序不同,GWT只实现了一些基本的UI组件,比如按钮,对话框,表单等。如果开发者要实现丰富的界面效果,可以参考GWT-EXT
- 一些Utility API。GWT提供的从JAVA到JS的编译功能是有限的,它不可能把所有的JAVA代码都编译成JS代码,但其对java.lang包下面的大部分类以及java.utility中的部分类都提供了支持。
- GWT Shell。GWT提供了两种运行代码的模式,Host和Web。Host模式指利用GWT shell模拟浏览器来直接执行JAVA代码,Web模式指用浏览器运行编译过侯的JS代码。Host模式对于开发过程中的调试,测试等都是极大好处的。