Stefan, Let's lay aside the issue of a windowing toolkit just a moment and talk about your general comment because I think that there may actually be two separate issues worth discussing that are stemming from this same observation/question and there's something I want to clarify. You said:
[quote] ...the code inside this "library" would not be optimized for your specific application. Moreover it would contain code for all possible browsers supporting all of their "weird interpretations". One of the strength of GWT is the compile step and the optimization of the produced code for one specific application - one specific problem. And for the next project the code will be optimized again - but maybe in a different way... So personally I can not honestly see your problem." [/quote] As I have tried to explain repeatedly throughout the thread, I don't have a problem with GWT: What I have is a specific use case over which I have no control, for which it seems to me that GWT would be a sub- optimal choice as things currently stand... But I'm open to hearing how it could work, or maybe even opening up the discussion as to whether these kinds of use cases are worth GWT addressing in the future. I think you are largely responding to the later - suggestions/ questions around how it might be supported. Nothing that I have said should imply anything contrary to most of GWTs optimizations - I have not suggested in any way that GWTs deferred binding and generation of independent files for N browser permutations is problematic - in fact - I quite like it and see no reason why the same wouldn't apply. Let's look at something a little more finite: Lay aside the WT part of the problem for a minute. I'm not making up the abstraction of a JRE for GWT - it exists. JavaScript does not contain things like the Number abstractions that Java does, so it's ported/adapted by the GWT compiler. In this respect, JRE and gwtLang are, to some extent, in every single build of every single GWT compile. IE compile variants are generally the most pathological and also the least efficient, so let's look at those as a case study... From my soyc reports I'm seeing that the JRE size appears to be always _about_ 11KB... It looks to differ from build to build by only a trivial number of _bytes_. But, for argument sake, lets say they differed by even roughly 20-25% in size because of optimization by the compiler... That would be comparatively kind of huge, but it still means that between 9K and 13k of essentially "GWT adapter" code is downloaded every time you use something compiled by GWT. If you run a single GWT app for some very specific purpose - you probably say "who cares". Well, if your premise is that that cutting out somewhere between a few bytes to 2k is an optimization - my question is: Is it? If you're really aiming for efficiency, there are many things to consider: download size, number of connections required, the projected connection speed of your users, runtime speed, interpretation speed, runtime memory use - and not trivially, your ability to cache it for long, long periods of time. The fastest download is the one that never happens. GWTs single optimal download/infinite caching is based on a coarse- grained download for each compile - but the supporting JRE permutations are roughly the same for an entire GWT release. Which revs more often - every app that uses GWT - or GWT? Would it be more optimal to pull those in as a separate download from a CDN? Not for the first time someone used a GWT app, but from then on - yes - and it's a benefit that would be realized across every single GWT app that a user used and doing so would increase the resource usage timestamp on those, thus decreasing the likelihood that your browser will evict it from cache (i.e., fewer cache misses). Perhaps that seems like a small win but compared to the tiny, tiny optimization difference that is there now for this space of the problem - it's potentially huge, and you don't even have to have my particular situation: Imagine that you work for a company whose enterprise has adopted GWT - they might have 10 or even 100 separate GWT apps that release updates on bi- weekly schedules. The number of bytes "saved" is number of apps * number of releases. In fact, if you're real lucky, some of your users will use some other GWT-based app too and your app wouldn't even pay the initial price. Given the situation above - and mine - there may be additional benefits to something similar for at least a base of what's required for WT... At least for this class of problem. Anyway - those are just thoughts... I think reasonable people could disagree, but the more I look at it, the more I think I'm seeing situations where at least some compiler switch or something for supporting this sort of thing might be a cool/useful idea if it could be incorporated. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
