- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GWT开发者使手册
GWT开发者手册
格式规范:这种字体表示代码或术语
文档目的:对新进员工进行GWT技术培训,使他们可以在以前没有接触过GWT的基础上,通过本文档,经过短期学习,即可使用GWT进行日常开发工作。
GWT版本:gwt-windows-1.3.3
面向读者:熟悉JAVA语言,有用J2EE开发三层架构软件系统的经验WEB应用程序开发者。
一、基本概念
核心GWT概念,诸如:把JAVA原码编译为JAVASCRIPT原码,调试,跨浏览器支持,和定义模块(module)等。
GWT编译器
主要用于把JAVA应用程序转换成对应的JAVASCRIPT应用程序
GWT的核心是一个编译器,它可以把JAVA代码转换成JAVASCRIPT代码,把用于实际开发工作的JAVA应用程序转变成等价的JAVASCRIPT应用程序,一般来说:
如果你的GWT应用在主机模式中编译运行,
并且GWT把你的应用程序编译成JAVASCRIPT应用程序,而没有报错,
那么的你的应用程序将会以同样的方式在WEB浏览器中工作,就像在主机模式中一样。
GWT编译器支持大多数JAVA语言特性。GWT运行时库仿真了JAVA运行时库的一个子集。
注意:
语言支持:
GWT可以编译J2SE 1.4.2或更早版本。但有一些不一致需要注意。
固有类型
byte, char, short, int, long, float, double, Object, String,和数组都是支持的。毕竟,在JAVASCRIPT语言中没有64位整型,所以long类型变量被映射到JAVASCRIPT的双精度浮点类型值。为了保证主机模式和WEB模式中最大的一致性,我们推荐使用int类型变量
异常
try, catch, finally和用户自定义的异常都可以正常支持,但是注意,在WEB模式中Throwable.getStackTrace()方法不被支持。
断言
GWT编译器解析JAVA assert声明,但是它们不会被生成对应的JAVASCRIPT代码。
多线程和同步
JAVASCRIPT解析器是单线程的,所以GWT自然接受synchronized关键字,但是没有实际作用。同步相关的类库方法也不可用,包括Object.wait(), Object.notify(), 和 Object.notifyAll()
反射
为了效率最大化,GWT把你的JAVA原代码编译成单块集成脚本,并且不支持类的并发动态装载(我也不大懂是怎么回事,总之不要在GWT中使用JAVA的反射机制),另外,其他最佳化选项也不包括对反射的一般支持。但是可以使用GWT.getTypeName(Object)来查询一个对象的类名。
无用对象清理
JAVASCRIPT不支持垃圾回收阶段的对象清理,所以GWT不能支持WEB模式下的JAVA对象清理。
严格浮点
JAVA语言规范精确地定义了浮点支持,包括单精度和双精度,还有strictfp关键字。GWT不支持strictfp关键字,并且不能保证在转换后的代码中的浮点的详细精度,所以如果你需要保证精度的计算,则要避免在客户端代码中进行。
运行时库支持
GWT只支持JAVA2标准版和企业版类库的一个小的子集,由于这些库非常大,并且有很多在WEB浏览器中不可用的功能。详细请参考:java.lang and java.util的API,那里列出了被支持的类和两个类库(GWT和标准JAVA类库)行为上的不同。
一些特定领域GWT与JAVA标准运行时不同。
正则表达式
JAVA正则表达式的语法类似但也不同于JAVASCRIPT的正则表达式语法。例如,replaceAll 和 split方法。你可能只想使用和JAVASCRIPT同效的JAVA正则表达式。
序列化
JAVA的序列化依赖于很少的机制,但这些机制在编译后的JAVASCRIPT中不可用,例如动态类装载和反射。所以GWT不支持标准JAVA序列化,但是GWT有一个RPC机制,它提供了调用远程方法时与服务器交互的自动对象序列化。
注意:如果你确保在一开始你的客户端代码中只使用了可以转换的类,你将会避免很多麻烦。为了能够尽早确定问题所在,你的代码将会在主机模式中运行时被检查是否符合JRE仿真库。所以,不支持的类库将会在第一次运行应用程序时被检测到。应该尽早运行并经常运行你的程序。
跨浏览器支持
GWT架构可以在单一代码的基础上支持多浏览器。
GWT使你不用过于担心跨浏览器的不相容性。如果你关注嵌入式的界面元素和组件,你的应用程序在最近版本的Internet Explore
原创力文档


文档评论(0)