« Return to Thread: GlazedList GWT

Re: GlazedList GWT

by Thomas Sorgie :: Rate this Message:

Reply to Author | View in Thread

Holger,

Let me try to reply to a few of your questions/thoughts..

1. About trying to get GL useable in GWT but without a different implementation.  Its probably possible but only with a pretty severe refactoring of the core of GL.  Some very useable java-library calls are simply not available in GWT, and if you would want to continue using them, you'd need to abstract that away.

2. As for sticking to the EventList interface with a no-op LockAdaptor, that's very doable.  But trying to keep the same implementations, doesn't quite work.  My first inclination was going to be to suggest creating a sister package called ca.odell.glazedgwt which would really begin with almost all new implmentation classes.  But many of the originals require only minor changes, so its possible to try to tweak those.

3. Property change and Reflection.  Yeah, this is a tough topic in GWT.  In my companies framework, we get around this issue by generating complex ValueObjects with automatic Property accessors.  There are a few opensource projects that do this ok as well.  Essentially the pattern is to work out a way to auto-magically (which means 'generator' in gwt), create support for access to properties via get(String), set(String, Object)  methods on your Beans.  Gwittr has support for a generator that does this, GXT does too.  We could have a few options, i believe even working out a way to just require that any Bean which GL has support for implement a simplfied interface with the requisite methods.  It would be great if Google standardized that sort of interface in the GWT core, but they haven't.


4. Other API problems.  There were definitely a few, and like i originally said, I over reduced at first, and I'm only adding back functionality now.  The great thing, is that the core complex algorithms worked with almost zero modification.  That's really what encouraged me to continue at the begining.  If you are into reviewing the results, i'd love to send over repackaged version of the library in the state i have it now (with a few changes).


Also what do you think about my suggestion/plans to create a dependancy on the new google-collections 1.0 release.  I think if i did that (which i definitely want for my project). I could thin the package out even more, and reduce duplication (which really costs you in js apps), with a library most uses will likely have.  The downside to this, of course, is that it means an even further deviation from the GL core.


Thanks for the reply,  talk to you again soon.

tom.

Holger Brands wrote:
Thomas,

that's interesting news.
We intend to provide *some support* for GWT in the future,
but we didn't start to plan or implement anything yet.

I guess the first step would be to identify the core of GL (without UI stuff)
which we could and would like to support on GWT.
Ideally, GWT support for this core would not require a different
implementation, but I don't know yet if that's feasible at all.
(Think about GL code, that you would like to use on the client *and* server)

Some quick thoughts:

- I wonder if we could stick to the EventList interface and use a no-op
LockAdapter for GWT

- how to support property change events? (using GWTx perhaps)

- how to support/deal with reflection?

- what other API problems did you encounter?

If you would like to share more details with us, that would be great.

Thanks,
Holger

>
> Hey guys,
>
> I've put together a branch of GL which runs on GWT.  I reduced the
> functionality quite a bit to the things that i think are applicable to the
> GWT environment (and what i needed there).
>
> A few examples, of the changes i made:
> Definitely good:
> 1. Removed all locking, and thread management code.  JS is single threaded.
> 2. Altered any use of unsupported jdk APIs to ones that work in GWT
> 3. Removed unnecessary swing/swt/networking code which wouldn't build in gwt
>
> Arguably not-so-good:
> 1. I removed more than i really needed to.  Some features could be made to
> work that i removed just to thin out the package.  These could be put back
> in without too much cost since GWT is good at only including what you really
> need at runtime.
> 2. I renamed a few things that i really didn't need to, this would be easy
> to changed back.  Basically i renamed EventList to GlazedList.
> 3. I'm in the process of removing duplication in the GL library with the
> Google-collections-GWT library, using the google versions to avoid having
> two in my applications.  At a glance i think this should include moving
> Matcher to Predicate, and utilizing their multimap implmentation in place of
> the GL one.
>
> My version is definitely incomplete, for instance i did not reimplement the
> equivalent swing table adapters for the gwt ones.  My project is using GXT
> and so i built adapters to that (with a dependancy on my framework).
>
> I read the original note from Jesse on the subject of GWT, where he
> mentioned that GL can only really work well in an env where the whole list
> is in memory.  And while i agree with much of the premise of that, i'd argue
> that JS environments are really much more constrained by how much can be
> rendered to DOM than by how many objects and data can be kept in memory.
> The fundamentals of what GL offers, really can make a big difference when
> developing any UI, even JavaScript ones.
>
> I'm really interested in some of the additional comments about how GL often
> trades off memory for speed, and any suggestions of where we could perhaps
> provide alternate implementations with different/configurable tradeoffs.
>
> Thanks again for GL, its really a very smart tool.
>
> tom.
> --
> View this message in context: http://www.nabble.com/GlazedList-GWT-tp23002550p23002550.html
> Sent from the GlazedLists - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@glazedlists.dev.java.net
> For additional commands, e-mail: dev-help@glazedlists.dev.java.net
>
>


__________________________________________________________________________
Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele
ausländische Netze zum gleichen Preis!
https://produkte.web.de/webde_sms/sms




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@glazedlists.dev.java.net
For additional commands, e-mail: dev-help@glazedlists.dev.java.net

 « Return to Thread: GlazedList GWT