Too much traffic and not enough time to read everything, I'm afraid.
But, I do hang out on freenode's ##GWT if you have questions!
I'll try not to disappoint:
Guys, GWT simply isn't java! :P
The basic idea behind GWT's serialization system, at least as far as
the client is concerned, is that its a new 'source of object types'.
This is problematic, because GWT is, quite unlike java, a 'closed
world' compilation scenario: There is no reflection, no class loader,
and no 'classpath'. The code that was there when your project was
compiled is all there is. GWT will start at the entry point(s) and do
some static analysis to figure out which types are even needed, and
simply doesn't include the rest in the resulting JS file. This is
good, because that JS file needs to be as small as it can be.
Serialization is an unfortunate chink in the armour here: It's another
way for objects to enter the system, and especially with 'Object', GWT
has absolutely no idea what that might be. Effectively, without more
specific stuff, it would have to assume every single source file
inherited for this compile job is theoretically 'reachable', and thus
compile all of it. This is kinda sucky, especially if you are e.g.
including big projects like gwt-ext, where, often, three quarters or
more is never actually used and thus not included.
I'm not 100% sure how GWT's serialization works (to be honest, I
always used JSON), but as long as you tell GWT which exact object
types will be coming in, it should still work.
It looks like there IS room for improvement, though. If you go through
the extra hoop of manually enumerating the types that any given
Synchronization bridge can use (only inbound is important, from client
to server doesn't matter because the server has all the code included,
obviously), then you could make it a fully generic solution, that
simply breaks if you try to send an object of a type you didn't
enumerate.
... I think. Again, I don't actually use GWT's serialization
mechanisms, so take this with a grain of salt.
On Aug 20, 4:25 pm, "Ian Petersen" <
ispet...@gmail.com> wrote: