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.
When it comes to styling web applications, CSS is ideal. So, instead of attempting to encapsulate UI styling behind a wall of least-common-denominator APIs, GWT provides very few methods directly related to style. Rather, developers are encouraged to define styles in stylesheets that are linked to application code using style names. In addition to cleanly separating style from application logic, this division of labor helps applications load and render more quickly, consume less memory, and even makes them easier to tweak during edit/debug cycles since there's no need to recompile for style tweaks.