GWT学习笔记(一)
Language Support
Intrinsic types: byte, char, short, int, long, float, double, Object, String, and arrays are supported. However, there is no 64-bit integral type in JavaScript, so variables of type long are mapped onto JavaScript double-precision floating point values. To ensure maximum consistency between hosted mode and web mode, we recommend that you use int variables.
Exceptions:try, catch, finally and user-defined exceptions are supported as normal, although Throwable.getStackTrace() is not supported for web mode. See Throwable for additional details.
Assertions:The GWT compiler parses Java assert statements, but it does not emit code JavaScript code for them.
Multithreading and Synchronization:JavaScript interpreters are single-threaded, so while GWT silently accepts the synchronized keyword, it has no real effect. Synchronization-related library methods are not available, including Object.wait(), Object.notify(), and Object.notifyAll()
Reflection:For maximum efficiency, GWT compiles your Java source into a monolithic script, and does not support subsequent dynamic loading of classes. This and other optimizations preclude general support for reflection. It is possible to query an object for its class name using GWT.getTypeName(Object).
Finalization:JavaScript does not support object finalization during garbage collection, so GWT isn't able to be honor Java finalizers in web mode.
Strict Floating-Point:The Java language specification precisely defines floating-point support, including single-precision and double-precision numbers as well as the strictfp keyword. GWT does not support the strictfp keyword and can't ensure any particular degree of floating-point precision in translated code, so you may want to avoid calculations in client-side code that require a guaranteed level of floating-point precision.
Runtime Library Support
Some specific areas in which GWT emulation differs from the standard Java runtime:
-
Regular Expressions:The syntax of Java regular expressions is similar, but not identical, to JavaScript regular expressions. For example, the replaceAll and split methods use regular expressions. So, you'll probably want to be careful to only use Java regular expressions that have the same meaning in JavaScript.
-
Serialization:Java serialization relies on a few mechanisms that are not available in compiled JavaScript, such as dynamic class loading and reflection. As a result, GWT does not support standard Java serialization. Instead, GWT has an RPC facility that provides automatic object serialization to and from the server for the purpose of invoking remote methods.
Tip: You'll save yourself a lot of frustration if you make sure that you use only translatable classes in your client-side code from the very beginning. To help you identify problems early, your code is checked against the JRE emulation library whenever you run in hosted mode. As a result, most uses of unsupported libraries will be caught the first time you attempt to run your application. So, run early and often.
Cross-browser Support
Whenever possible, GWT defers to browsers' native user interface elements. For example, GWT's Button widget is a true HTML <button> rather than a synthetic button-like widget built, say, from a <div>. That means that GWT buttons render appropriately in different browsers and on different client operating systems. We like the native browser controls because they're fast, accessible, and most familiar to users.
发表评论
- 浏览: 2437 次
- 性别:

- 来自: 南京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
开源框架 Seasar2
将GreetingClientImpl.java中的 private Greet ...
-- by tangshouen -
开源框架 Seasar2
请教一下,teeda的session怎么取得的? 比如我在struts里面是通过 ...
-- by haha_2005 -
妻子的说明书
落花虽有意 写道大夫,正缺此药``,可否开片```,多多益善``` 说了一生一片 ...
-- by 红红的大苹果 -
妻子的说明书
大夫,正缺此药``,可否开片```,多多益善```
-- by 落花虽有意 -
妻子的说明书
1piece 写道奇怪,我们这一代人为什么在使用前就没有读说明书的习惯呢? 哪 ...
-- by 姜太公






评论排行榜