First, I have written a few non trivial GWT apps that weren't slow at all, and I have used/seen many more. Actually I have seen many that were really impressive and dealt with a huge volume of data, diagramming DNA sequences, for example, and they weren't slow either. And I don't really care how long it takes to compile (within reason), the important part is the user experience.
Second, while GWT isn't perfect for everything by any means, it is the best Ajax toolkit out there in my opinion. It's not trying to REPLACE the browser's script runtime, it's trying to leverage it, it's Ajax. There are many reasons you do this of course (it's built in, there is no separate download step, users get familiar concepts like bookmarks and the back button, it runs on my Android G1 and my Wii as well as on any other device with a full browser, on and on and on), and I wouldn't call them limitations. I consider it the best Ajax toolkit because I don't like to write a lot of Javascript by hand, and I prefer the tooling support, testing capability, and static analysis capability a language like Java provides - which is the same reason the GWT team chose this path (emit JavaScript through compile step from Java source). Also, it's really nice to write the code once (95% of the time), and then have the toolkit handle the browser differences. Using anything not browser native, just giving up on the browser and saying hey, here's my own runtime - download and install it and I will run there - is a different tack. Whether it's Flash, or Silverlight, or an Applet (which is what JavaFX is when it comes the web part), or anything, you are stepping out of the browser and you then have to keep up with runtimes for every platform/version, you have to make people stop and install it if it's available, and you often also lose the "good stuff" from the web (bookmark anywhere in the site, current state, use back button, copy and paste the text, view the source, etc). Don't get me wrong, I think those technologies have their places too, most of the time a combination is ideal, rather than one or the other. Take the Flickr photo organizer, it's Ajax (though not GWT, but at that point it doesn't matter how you got there), so it works virtually everywhere, but if it detects that you have Flash installed it uses Flash for the processing (not the UI) because that's faster and offers more features (batch upload a bunch of files and show you individual progress on each along with total progress). It's one of the best file dialogs I have ever used *anywhere*, OSes and native apps included, and it's a web app built with Ajax. On Mar 29, 6:17 pm, Dobes <[email protected]> wrote: > Recently while cursing the slowness of GWT compilation, the slowness > in the browser, and the lack of Java 6 features, it occurred to me > that if GWT had simply been built on top of the Java Applet technology > it could really overcome these limitations. > > Does anyone know why GWT wouldn't be much better if it were java > bytecode running in an applet? All the major browsers support > applets, the Java VM runs the code nice and fast, and applets have > decent access to the DOM and the ability to run javascript. > Everything that is needed to implement GWT is available to an applet, > as far as I can tell. > > Thoughts? > > If I had time I'd experiment and try making a knock-off of GWT using a > hidden applet so I could just write every in Java, run and debug it in > the Java VM ... could even use Java's built-in RPC mechanism if I > wanted to. Interesting concept, although it's likely I'm missing > something important about why the GWT team didn't go this route in the > first place. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
