GWT除了支持将应用Java语言开发的应用转化为Ajax应用同时提供了更多的高级特性下面是这些特性的简单描述 GWT编译器 GWT编译器是GWT的核心负责完成将Java代码翻译很Ajax内容的工作GWT编译器能够翻译Java语言的大部分特性包括支持Java 语言中的基本类型违例处理等支持javalang包和javautil包中的绝大部分类和接口支持正则表达式和序列化 跨平台支持 如果你使用GWT中提供的显示组件(比如Button)和组装组件(比如VerticalPanel)GWT编译生成的Ajax应用能够支持大部分的浏览器和操作系统比如Internet ExplorerFirefox等也能够支持LinuxWindows等不同操作系统这是因为GWT最大限度的将这些控件翻译成浏览器内置的类型比如Button类编译后生成的是标准HTML GWT建议使用CSS修饰页面元素的显示效果GWT的类中很少提供访问页面元素样式属性的方法我们可以直接在CSS文件中通过对应的样式名称来设置页面元素的默认显示效果比如使用 gwtButton { fontsize: %; } 使用Button元素的默认显示效果 宿主模式(Hosted Mode) 宿主模式是指我们和没有转换为Ajax应用的GWT应用交互的状态当我们开发和调试时我们就一直处在宿主模式下在这种情况下Java虚拟机使用GWT内置的浏览器运行GWT应用编译后的class内容因此能够提供;编码测试调试;过程的最佳速度 我们可以运行comgooglegwtdevGWTShell启动宿主模式 Web模式(Web Mode) Web模式是指已经成功转化为Ajax应用的状态这种状态下我们已经开始通过Web方式来访问Ajax应用了 在Web模式下运行时不再需要GWT工具包或者JVM的支持 命令行工具 GWT工具包中提供了几个非常适用的小工具来帮助我们更快的建立GWT应用开发环境projectCreatorapplicationCreatorjunitCreator * projectCreator 创建在Eclipse中开发GWT应用所需要的项目基本文件和可选的Ant buildfile文件 * applicationCreator applicationCreator命令用于创建基本的HelloWorld!应用和GWT应用开发环境 * junitCreator 生成junti测试代码 .动态可重用的UI组件 GWT提供的组件库使用户可以很容易的开发出漂亮的UI 每个组件对应于GWT的一个类在本文的第二部分会比较详细的介绍GWT对UI的支持 .简单的RPC调用 使用GWT可以方便的实现客户端和服务器端的通信特别是使得异步通信变的非常简单在本文的后面部分将对利用GWT进行RPC调用进行详细介绍 .更加方便的调试 由于在开发阶段不需要生成HTML截面用户开发的代码实际上是在JVM上运行的这样用户就可以用传统的调试Java代码的方法对程序进行调试从而加快了调试的速度减少了软件开发的时间 .浏览器兼容性 在大多数情况下用GWT开发出来的程序会支持IEFirefoxMozillaSafari和Opera用户在开发的时候不必担心浏览器的兼容性问题而浏览器的兼容性问题也是用直接用Javascript进行Ajax应用开发所面临的一个另程序员棘手问题 .可扩展性 如果你觉得GWT提供的API不能满足需求你可以利用JSNI将Javascript语句直接嵌入至Java代码中 |