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...

面试题 相关文章推荐
PHP如何设置和取得Cookie值
Jun 30 面试题
中软Java笔试题
Nov 11 面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
东方通信股份有限公司VC面试题
Aug 27 面试题
如何查询Oracle数据库中已经创建的索引
Oct 11 面试题
一道写SQL的面试题和答案
Nov 19 面试题
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
Oct 29 面试题
Linux中如何用命令创建目录
Jan 12 面试题
介绍一下linux的文件系统
Oct 06 面试题
九州传奇上机题
Jul 10 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
Apr 24 面试题
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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
javascript实用方法总结
2015/02/06 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
Python ldap实现登录实例代码
2016/09/30 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
Python 中Pickle库的使用详解
2018/02/24 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
pandas 时间格式转换的实现
2019/07/06 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
python 实现端口扫描工具
2020/12/18 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
中学生校园广播稿
2014/01/16 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
学习雷锋倡议书
2014/04/15 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
压缩Redis里的字符串大对象操作
2021/06/23 Redis
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android