UiBinder, just like any GWT generator, generates Java code. So first, go read what's generated and compare that to what you'd be writing by hand (pass the -gen
option to the GWT Compiler or DevMode to make it write the generated code down to disk).
Where UiBinder shines is with HTMLPanel
and I18N, because it makes the code so much more readable than when written in Java.
GWT 2.5 also introduces IsRenderable
and RenderablePanel
as an experimental feature that however can boost your perfs under some conditions (they made it for boosting perfs of Orkut). Again, UiBinder makes it easy to use (IsRenderable
otherwise requires calling its methods in the appropriate order, and at the appropriate time to get maximum performances; UiBinder makes this transparent). There unfortunately are no other IsRenderable
widgets than RenderablePanel
, so it only helps if you create your own widgets that implement IsRenderable
; and IsRenderable
operates at a very low level.
Generally speaking, UiBinder shouldn't perform slower than hand-written code (for the equivalent arrangement of widgets of course). When people say UiBinder performs better (outside IsRenderable
) is that it encourages you to use HTMLPanel
rather than panels for layout. For instance, an HTMLPanel
containing an HTML <table>
or a set <div>
s performs way faster than a FlexTable
or a bunch of FlowPanel
s (assuming you won't need to modify the layout dynamically).