GWT都有什么特性


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

Tags in this post...

面试题 相关文章推荐
运行时异常与一般异常有何异同?
Jan 05 面试题
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
Aug 04 面试题
面向对象编程是如何提高软件开发水平的
May 06 面试题
C语言笔试题回忆
Apr 02 面试题
经典c++面试题三
Jul 08 面试题
北京一家公司的.net开发工程师笔试题
Apr 17 面试题
ASP.NET中的身份验证有那些
Jul 13 面试题
常用UNIX 命令(Linux的常用命令)
Jul 10 面试题
Linux操作面试题
Feb 11 面试题
Linux如何修改文件和文件夹的权限
Sep 05 面试题
Structs界面控制层技术
Oct 11 面试题
Java面试题冲刺第十六天--消息队列
Aug 07 面试题
JavaScript获取当前url根目录(路径)
Feb 19 #面试题
ajax是什么及其工作原理
Feb 08 #面试题
Ajxa常见问题都有哪些
Mar 26 #面试题
如何利用XMLHTTP检测URL及探测服务器信息
Nov 10 #面试题
百度JavaScript笔试题
Jan 15 #面试题
AJax面试题
Nov 25 #面试题
Ajax和javascript的区别
Jul 20 #面试题
You might like
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
javascript实现方法调用与方法触发小结
2016/03/26 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
vue实现放大镜效果
2020/09/17 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
python 域名分析工具实现代码
2009/07/15 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python numpy 点数组去重的实例
2018/04/18 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
python安装sklearn模块的方法详解
2020/11/28 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
海外淘书首选:AbeBooks
2017/07/31 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
教师自我鉴定范文
2013/11/10 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
2015年公务员工作总结
2015/04/24 职场文书
关于迟到的检讨书
2015/05/06 职场文书
二胎满月酒致辞
2015/07/29 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
部分武汉产收音机展览
2022/04/07 无线电