This appears to be one of the problems with Mosaic, and the key bindings issue is one of
the reasons why I originally abandoned Mosaic. Essentially, Mosaic's layout system is
not compatible with GWT's FocusPanel, which means that it's extremely difficult
(and impossible in some cases) to do keyboard-based UI controls.
This is one of the reasons when I was developing WSGrid for Guvnor that I could not
continue forward using Mosaic layouts. Mosaic is more complete from a UI perspective, but
it's actually very limiting from a developer perspective. Are we willing to live with
all these limitations?
I think the loss of the ability to do keyboard interaction with complex widgets is a very
bad strike against Mosaic and it makes me feel uncomfortable with it.
My second problem with Mosaic, is doing some profiling this morning is how much more
heavyweight it's layout system is. I was testing it using Google's SpeedTracer
tool, and it's over 800% slower at calculating layout than the old system. This is
why there's more of a delay when you click on things in Mosaic, versus in the old
So I'm not really sure what the solution to this is.
There's are two limitations of Mosaic at this point:
- It's layouts are incompatible with GWT's native layouts, like FocusPanel,
limiting keyboard bindings within Mosaic apps. (this is pretty huge to me)
- It's layout calculations are extremely slow compared to native GWT layouts.
On 2010-01-19, at 9:40 AM, Heiko Braun wrote:
I finished and committed the part of the workspace migration to mosaic layout managers.
Bare with me if you see some things looking different or not even working as they used
It's still work in progress and tried my best to retain most of the features, but
some things still require additional work:
- Leveraging UIBinder: I had to drop most of the UIBinder examples, because mosaic
isn't there yet.
The mosaic UI binder adoption is work in progress and as long as major bit's and
pieces are missing on that
side, we need to postpone using it. IMO we do a 100% adoption of declarative UI, when
it's available instead
of heaving a demo that partly works with that concepts, but still has to rely on
programmatic UI assembly for most cases.
- WSGrid: The nifty auto scroll feature has been disabled, because I couldn't make
it work within the mosaic layout managers.
It just blew up all of the time. But I think most of the other features made it into the
new version. I was forced to rewrite many parts
of the widgets and replace bit's and pieces with mosaic constructs.
- CSS: The workspace and widgets CSS files have been dropped to a large degree, because
they did party overwrite GWT base
css properties which caused a lot of trouble in conjunction with mosaic. So bare with me,
if it doesn't look exactly like it used to be.
I did focus on functionality this time: This will be revisited on a larger scale, when we
begin work the overall look and feel
That's it for now, Stay tuned there is more to come.
errai-dev mailing list