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

面试题 相关文章推荐
JDO的含义
Nov 17 面试题
方法名是否可以与构造器的名字相同
Jun 04 面试题
SQL数据库笔试题
Mar 08 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
盛大笔试题
Nov 05 面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 面试题
几个Linux面试题笔试题
Aug 01 面试题
如何利用cmp命令比较文件
Sep 23 面试题
英智兴达软件测试笔试题
Oct 12 面试题
新锐科技Java程序员面试题
Jul 25 面试题
Java基础知识面试题
Mar 25 面试题
Java基础面试题
Nov 02 面试题
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设计模式 Adapter(适配器模式)
2011/06/26 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php查看网页源代码的方法
2015/03/13 PHP
PHP curl使用实例
2015/07/02 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
Python去掉字符串中空格的方法
2014/03/11 Python
python中遍历文件的3个方法
2014/09/02 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
php优化查询foreach代码实例讲解
2021/03/24 PHP
质量工程师岗位职责
2013/11/16 职场文书
旷课检讨书大全
2014/01/21 职场文书
九年级化学教学反思
2014/01/28 职场文书
数学系个人求职信范文
2014/01/30 职场文书
罚站检讨书
2015/01/29 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
调任通知
2015/04/21 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL