Slashdot Mirror


Is Anyone Using the Google Web Toolkit?

eldavojohn writes "After seeing some applications from Google and participating in the Google Codejam (which seems to be built using the GWT), I kind of expected to see websites spring up left and right based off the GWT. Well, it's been a year and a half since they open sourced it and I have to admit that I am more than a little disappointed by its low profile in the UI community. I've been trolling their blog and have seen a few books out on it. But the one thing I'm not seeing is its use outside of Google. I've worked through the examples and tutorials at home and though I've been impressed with the speed, I am disturbed by the actual result — a whole ton of generated Javascript. But this is the first UI technology I've found where I can write in the native language of the server (Java) to generate and unit-test the UI code. Aside from Google's use and the games of Ryan Dewsbury like KDice & GPokr, does anyone know of major sites using the GWT? If you don't and you've used it yourself, why isn't it taking off? Is it too immature? Is it a solution to a problem that already has too many solutions? Is it fundamentally lacking in some way?"

470 comments

  1. Why are you expecting this? by Anonymous Coward · · Score: 5, Insightful

    Because a big company open sources something we're supposed drop what we're doing and run to the next best thing?

    JavaScript libraries and toolkits multiply faster than rabbits, there's a new "framework" coming out each week, and some of them had strong developer support (i.e. people willing to answer my stupid questions in forums) long before Google came out with their stuff.

    Not that it's bad or anything, but in the end it's all JavaScript anyway, and learning two different ways to get to the same goal (an interactive site) is generally pretty low on everybody's priority list.

    Are you using Google Sparse Hash by the way? Why not?

    1. Re:Why are you expecting this? by Kristoph · · Score: 4, Interesting

      The wacky Javascript that GWT generates is fine if your a Googler and understand and can fix issues that might occur but there many other cleaner solutions out there that mere, non kool-aid drinking, mortals can much more effectively work with.

    2. Re:Why are you expecting this? by Jimmy_B · · Score: 5, Insightful

      GWT is NOT a Javascript library! It's a Java library and a Java-to-Javascript compiler; it saves you from having to learn or work with Javascript at all. This means that you write your client in Java, same as your server-side code, and get to use a real Java debugger.

    3. Re:Why are you expecting this? by vidarh · · Score: 4, Insightful

      That's assuming your server-side is written in Java, which is a pretty big damn if when it comes to web applications.

    4. Re:Why are you expecting this? by Stooshie · · Score: 1

      ... it saves you from having to learn or work with Javascript at all ...

      WTF! You can write server side code but don't know how to do the basic javascript stuff.

      Although nothing to do with each other, java and javascript both have c-based syntaxes, they both have all the usual stuff like, err..., loops and objects and stuff. The only learning curve is the class hierarchy and that's easily accessible on the web.

      However, I agree that there's no point in using javascript for the sake of it, especially if you are trying to write accessible sites. And trying to write javascript/ajax sites that degrade cleanly? Too much effort for most websites that have accessibility as a goal. Much easier to make the site work without it.

      --
      America, Home of the Brave. ... .and the Squaw.
    5. Re:Why are you expecting this? by mcvos · · Score: 1

      I'm not so sure GWT is even competing at all with all those other ajax/javascript frameworks. As far as I understand (but I have no real experience with it, mind you), GWT is for complex web applications that run almost entirely in the browser, whereas most javascript frameworks use it for faster communication with the server that still does all the real work.

      Not every web application needs to shift the entire load to the browser, and many prefer to keep a bit more on the server. GWT has its advantages, but also its disadvantages. I think we'll see more GWT in the future, but it's not the solution for everything.

    6. Re:Why are you expecting this? by leenks · · Score: 2, Insightful

      It is? Best tell that to all the banks, Google, corporations, ...

    7. Re:Why are you expecting this? by Viol8 · · Score: 1, Troll

      Yes , feel free to tell it to Banks , a lot of whom write server side in C/C++, perl & python. I know , I've worked in enough of them.

    8. Re:Why are you expecting this? by leenks · · Score: 3, Insightful

      A lot of them also write in Cobol, C#, Ada etc. Your point?

      Java *is* used, and typically for the bits that joins all of the C/C++/Ada/Java/Cobol/Netezza/SQL/{{List_of_programming_languages}} components up.

    9. Re:Why are you expecting this? by Viol8 · · Score: 1, Troll

      Yes its used , but not everywhere, and not even always in the join-the-dots parts. For example its still easier to write apache plugin modules in straight C.

    10. Re:Why are you expecting this? by leenks · · Score: 0

      I didn't say it was used everywhere though - I was just making the point that Java for serverside (specifically web applications as described in the post I replied to) isn't actually a big damn, and lots of people use it.

    11. Re:Why are you expecting this? by Roxton · · Score: 1, Informative

      I don't think that's a fair characterization of GWT. The strength of GWT is in creating flawless UI components and in providing elegant hooks to the server. You can push as much power to the server as you want.

    12. Re:Why are you expecting this? by sonamchauhan · · Score: 1

      Do you have some examples of a library based on a server-side 'heavy' language that autogenerates Javascript or a DHTML 'face' to the web?

      (Not a troll... genuinely curious)

    13. Re:Why are you expecting this? by IamTheRealMike · · Score: 5, Interesting

      D'oh. I'm a Googler but seriously, nobody is meant to understand compiled JavaScript. Good thing then, that GWT provides a mode in which it does not minify the code, so if something does go wrong in the generated JS you can track it down in the human readable version.

      There are a lot of GWT myths floating around here. I don't work on it but I did adopt it for a project of mine recently, and it's worked out pretty well so far. Myths I saw reading this thread, in no particular order:

      • No nice widget toolkits like Qt or GTK+: GWT Ext seems to provide this. Haven't used it myself though.
      • Content can't be crawled: well, GWT is meant for applications rather than websites, but you can embed anything you want in the bootstrap HTML which will be crawled just like normal. If you have an app in which you want to expose a giant database of things to a crawler then whilst you can still do that with GWT, you don't get as much of the benefit.
      • Can't use "traditional" frameworks like jQuery: a lot of the better JavaScript frameworks have equivalents in GWT actually, for instance, GWTQuery does what jQuery does (let you select nodes from the DOM using CSS selectors) - but it uses the GWT compiler magic to produce optimal code for each browser. For instance, it can compile your CSS expression into an XPath query for browsers that support that, or do things the long winded way for browsers that don't. Thus your user gets a maximally efficient app.

      I suspect you'll see GWT used more and more in future. It's such a radically different approach it takes some getting used to, and whilst it does support evolving an existing codebase towards it, it's still easier if you start from scratch. Still, I do believe that GWT is one of the nicest open source things Google has released for a long time. It's very well thought out and is designed to be very efficient, which is important for any non-trivial web app.

    14. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      I'd prefer to write javascript to Java, is GWT usable from Rhino? (head explodes).

      Really, I don't want a ton of generated code. I write unobtrusive javascript and where possible make sure my apps are functional without it. Java wouldn't be a bad language for server side development but it's a ballache to deploy. I don't need all the enterprise cruft or the baggage that comes with servlets, I want something nimble and lightweight, something Java isn't exactly famed for.

    15. Re:Why are you expecting this? by darkvad0r · · Score: 3, Interesting

      Well, I work for a large TV company in France and the fact that Java code is easily maintainable and that it is our language of choice for server-side stuff makes GWT the ideal choice for GUIs. We have deployed 5 large web applications built with GWT and the users are really pleased with the experience. That said, we do control the deployment environment up to a certain point (everybody has JS enabled on its workstation and the workstations are fairly recent) and we don't mind about spiders not being able to crawl the sites.

    16. Re:Why are you expecting this? by Anonymous Coward · · Score: 1, Insightful

      GWT is NOT a Javascript library! It's a Java library and a Java-to-Javascript compiler; it saves you from having to learn or work with Javascript at all. This means that you write your client in Java, same as your server-side code, and get to use a real Java debugger.

      So for all the Java programmers who need to bash together a UI, it's a dream come true.

      For everyone who already does web design and development, it's pointless because they already know Javascript.

    17. Re:Why are you expecting this? by frodo+from+middle+ea · · Score: 4, Informative
      Check out Wicket, been using it for more than a year and absolutely love it. I have managed to do some pretty slick javascript based UI, without touching a single line of javascript.

      All the templates are done in HTML and code is in Java. Can't get any simpler than that.

      --
      for the last time people, I am "frodo from middle eaRTH", not "middle eaST".
    18. Re:Why are you expecting this? by nostriluu · · Score: 2, Insightful

      What about accessibility? That's a pretty huge gap. You're excluding a lot of users just to have whizzy controls, and for some industries it's the law that you have to have accessible Web pages.

      Making a second set of pages for accessibility is a poor choice. And as a benefit of making pages accessible, they usually work well in mobile browsers.

      This is why I don't use a comprehensive framework like GWT, aside from the lack of ultimate control over layout and functionality.

    19. Re:Why are you expecting this? by Reverend528 · · Score: 1, Insightful

      This means that you write your client in Java

      Perhaps this is the reason it hasn't taken off. Many web 2.0 sites strive to be agile and they can't really do that in Java.

      You wouldn't write a web app in C++, so why would you want to write it in a language that was designed to replace C++?

    20. Re:Why are you expecting this? by samkass · · Score: 3, Insightful

      You wouldn't write a web app in C++, so why would you want to write it in a language that was designed to replace C++?

      Wow, this comment I think wins the Best Java Troll on SlashDot for this month. There are so many logical fallacies in such a short sentence it almost boggles my mind to try to construct a response that sets the record straight. But to try to cut to the essence, Java solves many problems very well and is thus very widely used, and its technically pedigree is neither particularly rooted in C++ nor is it relevant to the decision to use the language.

      --
      E pluribus unum
    21. Re:Why are you expecting this? by Reverend528 · · Score: 2, Funny

      Wow, this comment I think wins the Best Java Troll on SlashDot for this month.

      Thanks. I'm always glad to see that my work is appreciated.

    22. Re:Why are you expecting this? by hansamurai · · Score: 2, Insightful

      We do tons of agile development in Java where I work. Being agile doesn't mean you can't use strongly typed languages.

    23. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      Sites, he said, not developers... meaning the software. Reply to the right claim; "agile" is not a reserved keyword. It has a meaning, that is, "Having the faculty of quick motion; nimble, active, ready." Not things anyone associates with Java.

    24. Re:Why are you expecting this? by Austerity+Empowers · · Score: 1

      You are free to code the client in Java, and the server in PHP, for example. The value in my opinion, of GWT is really the client side stuff...but I'm just a hardware guy writing tools for teammates and not a pro by any stretch of the imagination.

    25. Re:Why are you expecting this? by Arkham · · Score: 1

      We're using it for our enterprise/carrier commercial software that we sell. So far, I like it pretty well. I can do UI stuff that would make me cringe to write in JavaScript in just a couple of minutes. It's pretty nice in that respect.

      It's not perfect. When integrating it into a larger existing server-side code base, you have to be very careful about what you access from the java code that ultimately goes on the client as javascript. You end up reorganizing packages and creating some odd data object conversion routines. There are also some oddities on how the modules are organized and referenced, like putting java source on your classpath instead of compiled class files. It makes sense when you understand how the Java-to-JS compiler works, but it's very different from regular java programming.

      I think in the longer term, tools like GWT, if not GWT itself, are the future for web apps. You can handle all your client and server code and UI in the same language and with a consistent means of communication, and that leads to a far more seamless user experience.

      --
      - Vincit qui patitur.
    26. Re:Why are you expecting this? by cduffy · · Score: 3, Insightful

      WTF! You can write server side code but don't know how to do the basic javascript stuff.

      Screw "basic"; if you're building an AJAX site, you want your javascript to be all-singing and all-dancing... and entirely reliable.

      Writing for Java, you have static compile-time checking; you have 1001 different unit tests framework and code coverage frameworks and other tools you can use to help write reliable, production-quality software. For JavaScript, you have jack squat -- not even compile-time static checking. GWT solves that gap, providing a way to apply the same quality control tools and processes you have for your server-side code on your client-side code. As such, it's an extremely valuable tool in your toolkit.

    27. Re:Why are you expecting this? by Amouth · · Score: 1

      WTF! You can write server side code but don't know how to do the basic javascript stuff.

      doing something complex in javascript isnt' hard - getting it to work accross allthe browsers - and have it look and function in the same way is a completely diffrent ordeal - ontop of that making sure that it is doing it in the most effecient way for that browser is even more fo a task.

      compard to writing server side - where you have a single controled and known enviroment.

      now if all the browsers used the same JS engine this would be a no issue - but that isn't reality.. personaly i think they change them every version just to fuck with us.

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    28. Re:Why are you expecting this? by The+End+Of+Days · · Score: 1

      You're arguing with an anti-Java zealot. There's no point to even bothering with people who made up their mind ten years ago and see it as a virtue that they can't even bring themselves to reexamine their opinions.

      Zealots suck, no matter what flavor.

    29. Re:Why are you expecting this? by mortonda · · Score: 3, Insightful

      You wouldn't write a web app in C++, so why would you want to write it in a language that was designed to replace C++?

      Wow, this comment I think wins the Best Java Troll on SlashDot for this month.

      That doesn't mean the troll is wrong! ;)

    30. Re:Why are you expecting this? by Paradise+Pete · · Score: 2, Funny
      it almost boggles my mind to try to construct a response that sets the record straight.

      .

      Slashdot is not exactly "the record."

    31. Re:Why are you expecting this? by caulfield · · Score: 1

      Wicket is pretty cool.

      If you haven't already, check out Groovy and Grails. They will change your life :)

    32. Re:Why are you expecting this? by BOFHelsinki · · Score: 1

      Many web 2.0 sites strive to be agile

      Can I have that in English? :-)

    33. Re:Why are you expecting this? by Ben+Newman · · Score: 1

      Why exactly can't you use agile methodologies with Java?

    34. Re:Why are you expecting this? by Cyberax · · Score: 1

      Uhm... GWT's JavaScript is not magical. It's pretty clean and understandable. For example, I was able to quickly hack-in support for undeclared runtime exceptions in GWT 1.5 (where they are not supported there anymore).

    35. Re:Why are you expecting this? by Cyberax · · Score: 1

      Nope. You can use GWT with PHP (or any other language) services using XMLHttpRequest/JSON interoperability system in GWT.

    36. Re:Why are you expecting this? by x_codingmonkey_x · · Score: 1

      That's not true at all. There are a number of ways to communicate with the server from GWT, and GWT-RPC is just one of them. A popular method is to use JSON to communicate with any server you like. There are also GWT-RPC bindings for a number of languages which lets you use GWT-RPC but communicate with Python, etc. See the Voices That Matter: GWT - Client Server Communication presentation for all the details.

    37. Re:Why are you expecting this? by x_codingmonkey_x · · Score: 1

      While you strive for agility, you should also strive for maintainability, and Javascript is far from maintainable. In fact, try to make your Javascript maintainable will greatly reduce performance. That's the point of GWT, writing great AJAX applications that are scalable and maintainable.

    38. Re:Why are you expecting this? by bwt · · Score: 1

      Huh? You should use GWT if you DON'T want to deal with javascript. We've had an internal app in production for 6 months and have had to troubleshoot issues at the javascript level twice. One turned out to actually be a malformed CSS problem and the other was an interaction between Selenium and GWT that only affected our automate UI tests.

    39. Re:Why are you expecting this? by bwt · · Score: 1

      Um. Contrary to the article and your assertion, GWT has taken off pretty well. People would do well to look at the google trends of ROR vs GWT.

    40. Re:Why are you expecting this? by HiThere · · Score: 1

      It could have lots of nice features, but if it really does depend on Google's site being available (I haven't checked) that would be a killer for nearly anything I would be likely to write.

      My applications sometimes need to run without internet access. (I.e., either local mode or LAN mode.) Anything that depends on external resources being available at run time is just unacceptable, whatever nice features it might have.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    41. Re:Why are you expecting this? by Reverend528 · · Score: 1

      Why exactly can't you use agile methodologies with Java?

      You can try to be agile, but Java doesn't really lend itself to rapid development. If you compare a programming task in Java to the same task in Ruby or Python, you'll invariably find that it takes more lines of code in Java. I don't mean a few lines, I mean an order of magnitude (even more if you include all of the XML that whatever Java framwork you are using requires).

      It takes more time to write all of that extra code. It takes more time to debug more code (more places for bugs to hide). And this volume of code isn't just from static typing and an overly verbose syntax; it's caused by a fundamental inability to support more than 1 abstraction.

      I'm not saying you can't use agile development with Java, I'm just saying that you can't be as agile with Java.

    42. Re:Why are you expecting this? by bwt · · Score: 1

      Why is that? Do you have an objective reason to damn server side code written in Java, other than the fact that you don't like it? What are you proposing is better? Please tell me you're not stuck in 2006 advocated ruby on rails or its ilk. These are optimized for consultants to get in and quickly deliver code that doubles the amount of long term maintenance you'll have to buy from them.

    43. Re:Why are you expecting this? by SeaPig · · Score: 2, Informative

      Where did you get this idea? GWT runs our corporate Intranet, and doesn't not require google's servers to be available.

    44. Re:Why are you expecting this? by Anonymous Coward · · Score: 1, Informative

      We used it for http://datewheel.net/ . We're just finishing up an iPhone skin and internationalization. I've found the development environment to be excellent. There are a few minor bugs, but they are easy to work around.

      We're complete noobs to web development, but the hardest part of this project has been learning CSS and IE6 hacks. GWT and Java were easy to pick up and run with. We had a simple working version of our app coded in a weekend. And that was without previously knowing GWT or Java.

      The single biggest problem is that it's difficult to take html and css from a web designer and code the Java for it. GWT basically expects everything to be written in Java from the beginning. For example, there is no way to navigate multiple html files and preserve the application state. The current application closes when navigating away from the page. Granted, some state can be stored in cookies, but this is clunky. From the Kitchen Sink example, you can see there is only one html file and the other "pages" are just frames shown and hidden when a tab is selected.

    45. Re:Why are you expecting this? by tkinnun0 · · Score: 1

      You know, I don't believe you. With the amount of context assist and refactoring support a modern Java development environment like Eclipse has, I find that it feels like I'm writing 1/10th of the code that appears on the screen. Perhaps a more fair comparison would be to compare the number of keypresses needed to achieve a particular goal.

    46. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      Perhaps a more fair comparison would be to compare the number of keypresses needed to achieve a particular goal.

      Congratulations. You, sir, have gone off the fucking deep end.

    47. Re:Why are you expecting this? by Reverend528 · · Score: 1

      I guess I don't see the point in using a bunch of complicated software to write a bunch of complicated code. It seems to make a lot more sense to use a language that allows you to write less code. A small amount of abstract code that solves the problem in a meaningful way seems like it will certainly be easier to read than 10x as much poorly abstracted code generated by some bloated editor.

    48. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      Actually, I think anything that can hid you from the horrors of javascript is a good thing. People who have put the time into GWT have had some good returns.

      I've read about it as the framework of choice by start-up companies. A good example of complex Web 2.0 features being utilized to solve real world problems is http://www.glowday.com. Their blog says they developed the whole survey editor UI using GWT.

      I've also seen GWT used in-house by a financial mid/back office software supplier. It is replacing a lot of the configuration screens that were developed without a framework 5-6 years ago and simplifies the maintenance and enhancement of these. It really helped tiding up code where people hadn't followed any patterns or best practices.

    49. Re:Why are you expecting this? by Arkham · · Score: 1

      So for all the Java programmers who need to bash together a UI, it's a dream come true.

      For everyone who already does web design and development, it's pointless because they already know Javascript.

      Wrong. Even if you know JavaScript, there's value in not having to write code in two different languages and two different places. With GWT you write your code once, in one language, then deploy on the client and server. The fact that the output is HTML and JavaScript is almost inconsequential to the developer -- all he see is Java.

      The really great thing about GWT is it takes the browser quirks out of the equation. You create a single UI using a swing-like API, test and debug it with your Java IDE, then compile it out to your site. Site users with any modern browser can use it all and see the same thing, with no effort at all on the part of the developer. Oh, and it's less data sent to the client than hand-coded JS in most cases too.

      I'm not suggesting that it's perfect (it's not), but it has merit even to those of us who know JavaScript. If your site's already running Java and the client side is interactive, gwt is pretty compelling.

      --
      - Vincit qui patitur.
    50. Re:Why are you expecting this? by jsebrech · · Score: 1

      Not that it's bad or anything, but in the end it's all JavaScript anyway, and learning two different ways to get to the same goal (an interactive site) is generally pretty low on everybody's priority list.

      GWT isn't aimed at building interactive sites. It's aimed at building web applications. We're talking about something like gmail.com, not something like slashdot.org.

      I've looked at it for use in our web applications, but ended up choosing ExtJS on Zend Framework for the following reasons:
      - You need to trust that google / someone will maintain the java-to-javascript compiler, because it's just too much work to maintain it yourself. If many large commercial products were built with it, this wouldn't be an issue, but...
      - You can't adopt it partially to spruce up existing applications. You need to adopt it wholesale.
      - The GUI design is more desktop-like, which is a strength, but also a weakness, because at times we really need the web metaphors to shine through, and it seems more difficult to realize those things in GWT.
      - If you have no relevant java experience, there is a very steep learning curve associated with it, and what my team knows best is PHP and basic html.

    51. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      Wow, your reason for damning Rails sure sounds objective, too.

    52. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      So maybe thats the whole problem with GWT uptake. Java.

      Talk about shoulda been, coulda been but wasn't. Java.

      Silverlight/Flex? Applets. 1996. Why wasn't the technology refined since?

      Sun sucks.

    53. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      You know agile and rapid application development/prototyping are not the same thing...you seem to be getting the two confused.

      Agile is about the development process and includes many things that are antithetical to rapid application development. For instance, TDD requires you to expend more effort up front to give you the ability to make faster changes at a later time while still having the confidence that you haven't broken things.

      What agile gives you is a process that encourages sustainable development progress and manageable code bases while eliminating the requirement for upfront design which limits the ability to adapt to changing conditions. Agile is not about the Rails demo that allows you to have a fully-functional web application in 10 minutes. Agile is much more about how easy it is to make changes to your application 1-2 years from now.

      If all you want is to get your app up and running in a month, then Java probably isn't for you (though Grails and projects like AppFuse definitely bring it closer to Rails when it comes to bootstrapping the project). But with Java's rich community, it makes it extremely easy to do Java in an agile fashion. For instance, there are many continuous integration tools that will build your code with every SCM commit. All of them support both Ant and Maven for the build process, so that part is pretty easy. And all of them support JUnit (with some of them supporting TestNG as well), so they can run your unit tests every with every commit as well. All this means that as a developer, all I have to do is make sure everything I do gets checked in with tests, and the continuous integration tool will send me an email whenever I've broken something. And since each build that's done automatically produces a deployable application, it's a simple matter of, once development feels we're finished, tagging the build with a QA tag and pushing it to staging to get QA approval and then tagging the build that QA certified as the production release and pushing it to production.

      The fact that our wiki and issue tracking software both interact automatically with our SCM repository and continuous integration means things are even easier, since it eliminates a lot of the communications that would otherwise be necessary. I've had times where QA will close an issue before I've even had a chance to resolve it because they saw that the automatic build contained a check-in that was linked to the issue and the build tool automatically commented on the issue saying that it had successfully integrated the check-in into the build, which then got pushed to the "each successful build" environment on which they could verify that the bug was, in fact fixed.

      And lastly, the IDEs for Java are by far the most advanced of any language. In addition to refactoring and do local builds and the like, they also play well with all the other systems we have in place. When using my IDE, I can always tell the state of the build because it fetches it from the continuous integration tool. I can always see the issues that are assigned to me in my IDE, close/resolve/comment/assign/whatever in my IDE and I can even attach the working context (the files applicable to the issue) to the issue so that if another developer is assigned the issue, they automatically see just the parts of our source tree that are applicable to the issue. All the tools just work together so that I, as a developer, don't have to think about the process. All I have to do is think about the task at hand.

      The whole process is extremely simple and allows us to move from development, through QA and to production in a very short amount of time. And because we're practicing agile, features get scheduled, coded and pushed out to customers in roughly two weeks and yet we see very few production bugs because the whole Java development process, when used correctly, makes it very easy. A lot of this really isn't possible right now in any language other than Java. And that's agile...the ability for the business folks to identify that so

    54. Re:Why are you expecting this? by madpilotproductions · · Score: 1

      +1, I'm heavily involved in the Web community here in Australia and I can count on one hand the number of people I know that would choose Java to do web development.

    55. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      It does in this case

    56. Re:Why are you expecting this? by vikarti · · Score: 1

      Except that it's possible to write web app in C++ And using same ideas as GWT uses - just use Wt http://www.webtoolkit.eu/ FastCGI is required as interface (you can run your test server locally but for test only) JavaScript code is generated by runtime Server-side code itself is created in Qt-way (with signals,etc) Dual licensed And,btw, it can be crawled and it automatically downgrades (if you don't use custom widgets coded with JS-only support or graphics canvases) if client doesn't support AJAX

    57. Re:Why are you expecting this? by Anonymous Coward · · Score: 0

      You wouldn't write a web app in C++, so why would you want to write it in a language that was designed to replace C++?

      Would you write a UI in a language for text documents?

    58. Re:Why are you expecting this? by Viol8 · · Score: 0, Troll

      Oh here we go , anyone who says anything about java thats not 100% pro is a "zealot" or biased or some other epithet chucked over the wall by one of the sad fanboys. You might want to look into the mirror pal and examine what *you* are.

    59. Re:Why are you expecting this? by evalencia1 · · Score: 0

      This means that you write your client in Java

      Perhaps this is the reason it hasn't taken off. Many web 2.0 sites strive to be agile and they can't really do that in Java.

      You wouldn't write a web app in C++, so why would you want to write it in a language that was designed to replace C++?

      4, Insightful? His reasoning doesn't even make sense! Who the hell is modding these illiterate posts?

      1. Do you even have a clue what "agile" means? What makes you think you "can't really do that in Java"?

      2. A LOT of web sites have been written using Java on the server-side. Where does C++ come into the picture?

      Do you even know what you're talking about?

    60. Re:Why are you expecting this? by mebrahim · · Score: 1

      You wouldn't write a web app in C++ ...

      But we _would_ do it!
      See:
      http://www.webtoolkit.eu/
      http://www.tntnet.org/

    61. Re:Why are you expecting this? by HiThere · · Score: 1

      One of the other posts made that assertion, and nobody denied it. It's good to hear that it was wrong.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    62. Re:Why are you expecting this? by angel'o'sphere · · Score: 2, Informative

      ... in Australia and I can count on one hand the number of people I know that would choose Java to do web development.

      Ah, I already wondered why all the good web sites are not in down under.

      Seriously, just because you work in a certain community only means ... well, you are working in a community not using Java ... so in what respect does that qualify you to tell us anything about Java?

      I mean: if I would work since 10 years with PHP and would say: "honestly ... listen guys, PHP sucks balls!", well then I could profound this statement with: "yeah!! I'm working with it since 10 years!! I can tell you!"

      But it seems you have no clue about Java, so on what base are you trying to bash it then?

      If I have to do Server + Client, I only do GWT ...
      If I have to do Server Software, I only do Java ...

      And for the records: no, my HTML knowledge is mediocre, my CSS is minimal and my JS is non existent ... I do not plan to learn JS and "browsers as platforms" as long as I can use stuff like GWT.

      (I have written about 850k -900k lines of C++ code myself ... just as a hint of my experience .. never counted my Java code but I work with Java sine 1998)

      Surprisingly my GWT stuff just works fine ... out of the box.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    63. Re:Why are you expecting this? by madpilotproductions · · Score: 0, Troll

      And for the records: no, my HTML knowledge is mediocre, my CSS is minimal and my JS is non existent ... I do not plan to learn JS and "browsers as platforms" as long as I can use stuff like GWT.

      (I have written about 850k -900k lines of C++ code myself ... just as a hint of my experience .. never counted my Java code but I work with Java sine 1998)

      So you aren't a web developer then are you?

    64. Re:Why are you expecting this? by angel'o'sphere · · Score: 1

      I'm a software engineer, software architect, and developer.

      The term "Web-Developer" says me nothing. If I have to "design" web pages and program them, I do that. I'm certainly not a dreamweaver click and point web site crafter.
      I write HTML by hand ... as I only need to know like 5 tags ... html, body, title, header, div ... oh, I need a 6th one: span. Everything else is done with GWT (that means id's in the HTML code and CSS and Java). If stuff is running bad I can not use GWT or similar tools like DWR (well only similar in remoting) I write servlets

      If you mean with Web-Developer wether I use prototype or scriptacolous, nope, I don't.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    65. Re:Why are you expecting this? by Gel+Franjelico · · Score: 1

      The wacky Javascript that GWT generates is optimized for download. Use the -pretty tag if you want human readable js generated.

    66. Re:Why are you expecting this? by Gel+Franjelico · · Score: 1

      GWT has nothing to do with Google's web site availability. See http://www.gwtsite.com/getting-started-with-gwt-and-google-gears/ for developing offline able GWT apps.

    67. Re:Why are you expecting this? by drix · · Score: 1

      All the templates are done in HTML and code is in Java. Can't get any simpler than that.

      No? I implore you to check out Rails, or better yet, Seaside.

      The fact that it took the Java crowd a decade to "discover" the merit of POJOs speaks volumes. It can get way simpler.

      --

      I think there is a world market for maybe five personal web logs.
    68. Re:Why are you expecting this? by cultofmetatron · · Score: 1

      Why is that? Do you have an objective reason to damn server side code written in Java, other than the fact that you don't like it? What are you proposing is better? Please tell me you're not stuck in 2006 advocated ruby on rails or its ilk. These are optimized for consultants to get in and quickly deliver code that doubles the amount of long term maintenance you'll have to buy from them.

      well I for one have programmed in java and rails and I'll tell you for anything that needs to scale alot I'm going with erlang. first of all, ruby on rails was designed for startups, not consultants. it was optimized to get fledgeling apps created quickly using sane conventions that allow for rapid development and relatively easy maintenance as anyone who has worked with rails knows the source tree for just about any rails app and can get off the ground much faster. java feels like a toy. Ruby has first class functions, closures and is a hell of alot more OO than java. the compile run cycle takes too much time as the app gets bigger. ruby is great for its features but the metaprogramming features eat away at its performance. So while java takes a long time to build. you'll need more boxes as you scale in ruby. the sad thing is, metaprogramming does not have to be a performance hit. Lisps dialects make extensive use of macroexpanion at compile time essetially giving you performance for free. ruby on the other hand does all its stuff at runtime. while you can do this in common lisp, its generally avoided. anyways, I'd say erlng is the future. te erlang web server, yaws, can handle up to up to 80,000 connections wheras apache breaks down at 4,000. its a purely functional language so its very easy to write full robust programs that scale across processors. This is to my knowledge not possible in haskell due to lazy evaluation. anyways, I'll reserve my last words about java so as not to incurr the wrath of the moderator gods...

  2. The secret shame of Web 2.0 by QuantumG · · Score: 5, Insightful

    is that everyone wants to roll their own.

    --
    How we know is more important than what we know.
    1. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 4, Insightful

      Mostly because no one's really gotten it right yet.

      That, and we still don't have any set of frameworks which have built up enough to be difficult to replace. Nothing close to, say, GTK+, Qt, WinForms, Cocoa, etc.

      --
      Don't thank God, thank a doctor!
    2. Re:The secret shame of Web 2.0 by bigtangringo · · Score: 2, Insightful

      The barrier to entry for web development (even web 2.0) is much lower than your standard desktop environment. You can build damn near anything out of a dozen components (tags) and a little more than two dozen properties (styles).

      --
      Yes, I am a smart ass; it's better than the alternative.
    3. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 1

      Except that similar RAD tools exist for desktop environments, too -- Visual Basic being the most famous, but there are others. The only advantage of a web app here is that it's cross-platform -- but you would also get that with, say, Shoes.

      No, the cool, unique properties of a web app are pretty much entirely the user experience -- the fact that there's nothing to download, and no updates to manage.

      That said, I'd develop just about anything as either a web app or a commandline tool, mostly because these are what I personally have experience with. I develop real web apps for a living, for the reasons I list above -- so when I want to develop a personal app to, say, track my weight, which am I most likely to use?

      --
      Don't thank God, thank a doctor!
    4. Re:The secret shame of Web 2.0 by Atario · · Score: 4, Funny

      The secret shame of Web 2.0^W^W^W^W programming in general

      Fixed that for you.

      --
      "A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
    5. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0, Insightful

      The secret shame of Web 2.0^W^W^W^W programming in general

      The secret programming in general

      You're doing it wrong. ^W means delete previous word. Maybe you're looking for ^H which deletes the previous character?

    6. Re:The secret shame of Web 2.0 by try_anything · · Score: 4, Interesting

      No, the cool, unique properties of a web app are pretty much entirely the user experience -- the fact that there's nothing to download, and no updates to manage.

      I develop a rich client application for internal corporate use, and I find that casual users really miss web-style navigation. I get a lot of requests that are essentially requests to simulate a web experience by providing a bunch of screens that users can click through to find the information they want, instead of using traditional (perhaps formerly traditional?) GUI ways of exposing functionality.

      Also, these days, mashups and Greasemonkey scripts really magnify the value of web applications. Deprecating a web application in a big company can be nearly impossible because you find out that there are a bunch of business processes that depend on mashups and fancy Greasemonkey scripts that have been hacked together (usually by interns, IT guys, and other random people) and that provide substantial business value.

    7. Re:The secret shame of Web 2.0 by brianjlowry · · Score: 1

      I wish I had points to mod you up.

    8. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 1, Informative

      Actually there is one VERY close to Qt, namely Wt.
      http://www.webtoolkit.eu/wt

    9. Re:The secret shame of Web 2.0 by Atario · · Score: 4, Funny

      Aha, gotcha! I knew someone would pedant all over me no matter how many "^W"s I put in there. You'll be happy (or possibly appalled) to know that I actually opened up a gvim window, pasted my text in there, and hit control-W, counting the presses till I got the desired result. First one kills "0", second kills ".", third kills "2", fourth kills "Web ".

      Too bad Slashdot doesn't allow the <strike> tag, which I would prefer.

      You may now pelt me with taunts of "NERRRD!!".

      --
      "A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
    10. Re:The secret shame of Web 2.0 by Fred_A · · Score: 3, Funny

      Mostly because no one's really gotten it right yet

      Presumably, everybody is waiting for Web 2.1 or 2.2.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    11. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 1, Insightful

      Mostly because no one's really gotten it right yet.

      Quite possibly because trying to build a rich user interface in a web browser is a stupid idea.

    12. Re:The secret shame of Web 2.0 by Stooshie · · Score: 1

      ... Quite possibly because trying to build a rich user interface in a web browser is a stupid idea. ...

      Stupid as it may seem, it's the most rapid way to do it. You have a whole buch of stuff built into the browser that you would have to write on your own desktop application.

      --
      America, Home of the Brave. ... .and the Squaw.
    13. Re:The secret shame of Web 2.0 by 0xdeadbeef · · Score: 1

      The secret shame of Web 2.0 is that it is a piss-poor implementation of the "write once, run anywhere" dream that the market pretends to want and nobody can deliver, and everyone who tries is ridiculed for being "slow like Java". Web 2.0 is the lowest common denominator, the ad-hoc solution that does most of what everyone needs but in the most convoluted, painful way possible. The browser is your runtime, the browser is your sandbox, and Javascript is the dominant language of the next hundred years. Can you blame people for trying to make the best of a bad situation?

    14. Re:The secret shame of Web 2.0 by dkf · · Score: 1

      >

      You may now pelt me with taunts of "NERRRD!!".

      Thank you for the permission.

      "NERRRD!!"

      That's better.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    15. Re:The secret shame of Web 2.0 by leenks · · Score: 2, Insightful

      Surely that suggests that the design of your traditional GUI approach is wrong (and indeed modern GUI design is somewhat different to the approaches of yesteryear, involving many techniques borrowed from different domains).

      Rich clients aren't meant to be like traditional applications either - they are supposed to be what their name suggests, ie a client to some remote functionality that gives a richer experience than a traditional web application.

      How you expose that functionality is critical if you want users to make the most of your data and services, but that applies to web applications as well as desktop applications and rich clients. Perhaps you are just better at building web applications (as most enterprise developers naturally are at the moment from 15 years of webapp development)

    16. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      You better use the <del> and <ins> tags.

    17. Re:The secret shame of Web 2.0 by ewertz · · Score: 1

      I get a lot of requests that are essentially requests to simulate a web experience by providing a bunch of screens that users can click through to find the information they want, instead of using traditional (perhaps formerly traditional?) GUI ways of exposing functionality.

      Oh gawd, where's my gun? Life's not worth living anymore...

      I guess that this is the desktop analog of employing the most efficient time-wasting solution for a problem, just like text-messaging.

      No signs of intelligent life here, Captain. Beam me up.

    18. Re:The secret shame of Web 2.0 by buchner.johannes · · Score: 1

      Well, if you want to provide functionality on the client-side (for response time, only partial reloading, etc), you have 2 choices (if don't want to exclude users having Javascript disabled):

      a) reimplement functionality in Javascript
        - produces dupe code -> maintainance mess
        or, as some "frameworks" do, generate that functionality.

      b) only provide additional functionality with Javascript/AJAX

      Well, one of the reasons I stopped developing web apps is that the development process is stupid. You spend hours to get a border right, pixel by pixel. Also, you can not reuse most of the code or CSS you write for one application in the next one.

      It got a little better recently, but web development ala 2.0 is broken by design. (Or, people don't have the right framework yet ;-) )

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    19. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      Well played, sir.
      Thank you.

    20. Re:The secret shame of Web 2.0 by encoderer · · Score: 2, Interesting

      I've noticed the same thing.

      I'm a partner in a mid-sized software dev firm. We're a job shop that is slowly bringing our own product to market.

      Anyhoo, we wrote a route costing app for a certain airline (hint: It wasn't a foreign airline) about 5 years ago and we've upgraded the app about once a year since.

      Last year we were asked how much it would cost to re-write as a web app.

      It's not a broad app in terms if its function. But it's got a set of algorithms that are very tightly wound and the best guess of my web guys is that writing it in an interpreted language would slow it down considerably. (We're primarily a Python, PHP & Ruby shop when it comes to web dev.)

      I told them and asked them why they were unhappy with the current Citrix nFuse (or wevertf it's called this year) deployment.

      They weren't, they told me.

      Long story shorter, they just wanted a web-style UI.

      And they wanted it bad. So bad, that we re-worked every screen in the application.

      We made it look like web browser.

      There's an address bar, screens can be book-marked, back and forward buttons, all buttons in the app have been re-styled to hide the button border and put a blue underline on the button text. Etc Etc Etc.

      Luckily it's not MDI or we'd have been creating a tab interface :)

      honestly, that re-design probably cost $25,000.

      No functionality was added. Just a different UI.

      And this is why i think "cry me a river" whenever airline CEO's are crying to congress about not being able to stay afloat.

    21. Re:The secret shame of Web 2.0 by Red+Alastor · · Score: 1

      What about qooxdoo?

      --
      Slashdot anagrams to "Sad Sloth"
    22. Re:The secret shame of Web 2.0 by Rysc · · Score: 1

      You'll be happy (or possibly appalled) to know that I actually opened up a gvim window, pasted my text in there, and hit control-W, counting the presses till I got the desired result.

      Ah, I've spotted your mistake: You opened gvim when you should have opened emacs. If you had tried this in emacs the correct ^W delete word behavior would have occurred.

      It's ok, we all make mistakes!

      </editor-war>

      --
      I want my Cowboyneal
    23. Re:The secret shame of Web 2.0 by sciurus0 · · Score: 1

      Sir, I am appalled. Why didn't you write the comment in gvim in the first place?

    24. Re:The secret shame of Web 2.0 by DahGhostfacedFiddlah · · Score: 1

      Ummmm, unless you're using a vastly different emacs than me, a ^w is going to delete the currently region...

      Oh! You've probably got

      (global-set-key (kbd "C-w") 'backward-kill-word)

      in your custom.el. My apologies.

      Although, I notice that even then, the ^W delete word behaviour is the same. Can you send me the Lisp you're using? - I'd like to see your setup!

    25. Re:The secret shame of Web 2.0 by Bob+The+Cowboy · · Score: 1

      "The secret programming in general"?

      In general what?!

      Man this new /. is really buggy.

      The secret shame of Web 2.0^H^H^H^H

      Fixed it for you. ;o)

    26. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      Would you be happier if we were all still typing away on a monochrome console, trying to remember the arguments for 15 arcane commands to do one simple thing that a well written modern app can do in a click?

    27. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      it's the most rapid way to do it

      It is? More rapid than using a forms designer in a competent IDE and a high-level language like VB.NET?

      You have a whole buch of stuff built into the browser that you would have to write on your own desktop application.

      Like what exactly? Menus? A callback mechanism for when a button is clicked? Multiple windows? Rich UI components? Access to local resources? You know, all that stuff that these Web 2.0 frameworks try to provide for you because er, they arn't available in your web browser?

      The web browser IS NOT A RICH PLATFORM. It is a content display system. For the love of god, stop trying to use it like some huge client side middle-layer API to the OS!

    28. Re:The secret shame of Web 2.0 by ColdWetDog · · Score: 2
      What part of "Let the end user successfully use the application" doesn't register?

      The whole point of whatever you designed is presumably to get something done. With the computer. If the users are more productive with a "web style" interface then go ahead and make a web style interface. If users are more productive using Microsoft Bob then code it to look like Bob.

      It may seem like a silly affectation to you but to computer naive users any change in the interface (the Internet to them) is scary. You can't possibly fix that. Go with the flow.

      Besides, it kept you and your company happily churning out change tickets and additional charges. What's not to like?

      --
      Faster! Faster! Faster would be better!
    29. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      NEEERDDD!

    30. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      So they spent $25,000, and you think they are idiots for it. That just tells me that you have a lot to learn about management and running business.

      What did they get for $25,000? They got a system which is closer to what incoming employees will be familiar with, which lowers their training costs.

      Do you have any idea what most companies spend training incoming employees? Probably not, most people don't. Heck, most businesses don't really have a clue what they spend. However a conservative rule of thumb is that a new employee is not productive for a month, and will take a month of time from existing employees just coming up to speed. Suppose that a familiar interface can reduce this productivity curve by, let's say, 1 day. So that is 2 days of gained productivity (one for the trainee, one for the existing employees doing the training.) Suppose those employees are paid $30,000/year, work 5 days a week, for 50 weeks a year. Remember that employees usually cost about double their salary. That 2 days costs $480 per employee trained.

      After they've paid training costs for 52 new employees, their $25,000 investment in you just paid off. If they are a major airline then they probably have a lot more than 52 new employees per year using your system! And this is with a fairly conservative estimate as to costs.

      If they noticed that they wanted it, and the issue got far enough up the chain to come as a request for you, then I'm willing to bet money that the difference to their internal costs was a lot more than this. Which means that the $25,000 you were paid was worthwhile to them.

      Do you still think it was a stupid request?

    31. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      You may now pelt me with taunts of "NERRR^H^HD!!".

      Fixed that for you.

    32. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      Mostly because no one's really gotten it right yet

      Presumably, everybody is waiting for Web 2.1 or 2.2.

      Web 2.0 SP1

    33. Re:The secret shame of Web 2.0 by encoderer · · Score: 1

      No, I don't. I never passed any judgment except to say that if your company is facing bankruptcy, it might be a good idea to sideline inessential spending.

      No offense, but I've been in this business (Contract software development) for a long time. Especially by the standards of our industry. And we've prospered.

      I'm a software developer who runs a software shop.

      And, not for nothing, we sell training to these companies. It's quite profitable for us, and we always have the competitive edge that we built it, we know it better than anyone else.

      I'm a pretty good judge of ROI.

      And there was no ROI here. The software is no easier to use.

      My perception is that you wasted an awful lot of time writing up a response using invented math to prove a company you are unfamiliar with got a good return on a re-skinning of an application that you've never seen.

      You're out of your depth.

    34. Re:The secret shame of Web 2.0 by LunaticTippy · · Score: 1

      If it goes anything like the UI changes I've seen, here is the deal:

      UI is changed based on the whim of some director. No studies are done to show benefits to the user.
      Massive user retraining is needed.
      Director moves along.
      UI changed back - turns out nobody likes it, it is retarded, and the reason for it existing is gone.

      --
      Man, you really need that seminar!
    35. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      I'm a beta tester for Web 2.1.0-RC2. It's looking good. The entire web-2.1.0-rc2.tar.gz is a massive 5.7KB - that's a lot of new, ill-defined buzzwords, my friend. Gonna blow 2.0 out of the water.

    36. Re:The secret shame of Web 2.0 by vaz01 · · Score: 1

      So stupid that it's going to make a lot of people a shit-ton of money.

      Yes, it distorts the intent of HTTP and hypermedia. Yes, it's full of accessibility and indexing issues. Yes, the bullshit DOM (don't blame Javascript, it's a pretty neat language on its own) and browser incompatibilities make the prospect of developing rich applications on the web ridiculous.

      That's not going to stop it from happening. Why?

      People are lazy. Not-computer-smart people are lazy and also not-computer-smart, and a lot of them are probably becoming more aware of that fact as more and more of their younger relatives let out that disgusted sigh when they get asked to fix their computer and see the mountains of junk they've downloaded. Smart, but not-computer-smart people have a fairly good intuitive sense that 99% of the apps/etc that they "find" online ("Sponsored Links" wut) are garbage and are the reason their Windows runs like shit, and smart enough to realize they don't know how to tell the difference.

      In short, I think a lot of people are getting the sense that downloading software is kind of, well, bad. Unless their geeky neice or nephew tells them it's ok.

      (there's sort of a point hidden in here, but I definitely failed at actually making it clearly.)

    37. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 1

      Given that I haven't heard of it, I somehow doubt it's "difficult to replace" on the level of normal GUI frameworks.

      Given that the entire page you linked to appears white for me on Konqueror, with some script errors, I somehow doubt they're doing unobtrusive Javascript, or gracefully degrading Javascript -- which disqualifies them from "doing it right".

      --
      Don't thank God, thank a doctor!
    38. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 1

      Sounds like I missed some implications, but it seems like you agree with this part:

      ...the cool, unique properties of a web app are pretty much entirely the user experience...

      A Greasemonkey script probably is not essential, and is not part of your development process. But it makes things easier for the user, and adds value.

      Although I see your point with back/forward -- if Web-style navigation is going to be required, then most desktop UI systems won't be as helpful.

      --
      Don't thank God, thank a doctor!
    39. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 1

      a) reimplement functionality in Javascript

      One possibility is to implement it in Javascript entirely, and run it on the server in SpiderMonkey. Just saying...

      You spend hours to get a border right, pixel by pixel.

      Or you leave it alone -- let it be slightly off. Or let a designer write your CSS.

      Consider, also, the use of straight HTML in your AJAX responses, rather than something like JSON or XML. It's actually reasonably terse, and you can always re-style it, or parse it manually as a microformat.

      But also, you might strongly consider:

      b) only provide additional functionality with Javascript/AJAX

      I'd much rather have a framework make it easy to expose functionality both ways. But you can always think of them as two separate platforms. Is it really so much harder to enable things both with Javascript and without, versus, say, porting a desktop app between Windows/Linux/OSX?

      (Or, people don't have the right framework yet ;-) )

      This is the most likely reason.

      --
      Don't thank God, thank a doctor!
    40. Re:The secret shame of Web 2.0 by SEE · · Score: 1

      Some of us are waiting for Web 2.7.18. It's promised that it'll be quite natural to code for; as easy as falling off a log.

    41. Re:The secret shame of Web 2.0 by Junior+J.+Junior+III · · Score: 1

      I thought it was supposed to be ^H, not ^W.

      ^W is what you use to bomb the shit out the text's author's home country.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    42. Re:The secret shame of Web 2.0 by shutdown+-p+now · · Score: 1

      I develop a rich client application for internal corporate use, and I find that casual users really miss web-style navigation. I get a lot of requests that are essentially requests to simulate a web experience by providing a bunch of screens that users can click through to find the information they want, instead of using traditional (perhaps formerly traditional?) GUI ways of exposing functionality.

      I've noticed that too, and apparently it's not just me. Did you see the "page model" in WPF, where you get it all complete with the back/forward navigation buttons in a desktop application? And a lot of reworked dialogs in Vista also follow that model. It seems that Microsoft at least is effectively pushing for it now.

    43. Re:The secret shame of Web 2.0 by SanityInAnarchy · · Score: 1

      Democracy is the worst form of government imaginable, except for all the others which have been tried.

      Unix is the worst OS ever, except for all the others...

      Building a rich user interface in a web browser is a stupid idea. But it has features found nowhere else.

      Tell me where else I can try out an app with zero risk to my system (barring a security whole in the sandbox)? The only alternative I can think of is a virtual machine (complex and resource-intensive to setup), or a chroot jail (complex and limited).

      Tell me how else I can build an app which is always up to date? The best I could do is "scan for updates", and it would still involve some latency while I patch the client-side code. With a web app, all that has to happen is for the cache to be invalidated -- automatically.

      Tell me how else I can build an app which has such a low barrier of entry? It is hard to beat "nothing to install".

      Tell me how else I can give so much hackability to the end-user for their own UI, while maintaining the integrity of their data? Greasemonkey, simple tabbed browsing (and bookmarks, back/forward, etc) -- these and others give the user a fair amount of control without me having to think of every possible workflow. Even tweaking browser settings gives the user the ability to change font size, color, background color, etc -- again, without me having to lift a finger.

      It's a stupid idea, but it works amazingly well, despite that no one's gotten it "right" yet.

      Glancing at your other comment, do you actually have anything valuable to say, or are you just being pedantic? Why, exactly, shouldn't we use the web browser as a rich platform?

      --
      Don't thank God, thank a doctor!
    44. Re:The secret shame of Web 2.0 by Rysc · · Score: 1

      For me it takes three ^w to delete "web 2.0"

      start: "web 2.0"
      ^w: "web 2."
      ^w: "web "
      ^w: ""

      Accomplished this way:

              (defadvice kill-region (before unix-werase activate compile)
                  (interactive
                    (if mark-active (list (region-beginning) (region-end))
                        (list (save-excursion (backward-word 1) (point)) (point)))))

      So, for me, when no region is set, emacs behaves much like bash, but proper ^w behavior is preserved for regions.

      I'd like to say I invented it, but I lifted the code from an example somewhere a few years ago. Makes things easier.

      --
      I want my Cowboyneal
    45. Re:The secret shame of Web 2.0 by Anonymous Coward · · Score: 0

      No, we're waiting for Microsoft to release Web 3.11 for Workgroups.

  3. Cache the Javascript by LogicallyGenius · · Score: 0

    It will be worth if we could cache the javascript unlike flash videos. Download once use many times. Save the bandwidth.

    1. Re:Cache the Javascript by Anonymous Coward · · Score: 0
      With HTTP headers telling the browser to cache the JavaScript then this is already possible.

      (or do you mean that GWT doesn't set the headers right?)

      I suppose that HTML5 offline support allows you to cache JavaScript too, but that's kindof a weird way of doing it because you'd need HTTP cached JavaScript to request stuff from the offline key:value store anyway.

    2. Re:Cache the Javascript by rufus+t+firefly · · Score: 1

      GWT *does* do this, as detailed on their code FAQ: http://code.google.com/support/bin/answer.py?answer=60559&topic=10211

      It's actually a pretty elegant solution. But then again, it's not really a "toolkit", which is usually a huge clot of Javascript, called in places in your code. It's a fantastic optimizing compiler. And though this is mentioned alsewhere, it's more for keeping yourself from having to maintain horrific hacks and large, unweildy Javascript codebases. Java is far easier to manage in a large project.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  4. To me, by bucky0 · · Score: 4, Interesting

    To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me.

    --

    -Bucky
    1. Re:To me, by bucky0 · · Score: 2, Informative

      let me preemptively correct that. I _do_ care about users, but most of my users are tech-savvy and have up-to-date browsers. The ones who don't are in a minority.

      --

      -Bucky
    2. Re:To me, by Anonymous Coward · · Score: 0

      Are you seriously suggesting that Google invented a technology that is averse to SEARCH :)

    3. Re:To me, by VoyagerRadio · · Score: 5, Interesting

      Exactly. Man, when I finally decided to really get down and dirty with HTML (translation: when I decide to learn all aspects of HTML and its related technologies), I got all hardcore over XHTML and CSS. I spent more time validating my site to strict XHTML than making the site prettier (not to mention producing better content). After a few years of my addiction to usability and valid forward-and-backwards-compatible code and Jeffrey Zeldman articles, I finally realized that I was wasting my time. Users don't want valid code: they just want pretty, moving pictures and sound (that they can easily turn on and off, of course).

      --
      Harold
    4. Re:To me, by Anonymous Coward · · Score: 3, Interesting

      > tech-savvy

      It's likely that the MOST tech-savvy are the ones disabling javascript. The novices haven't even heard of it, leave alone be familiar with its particular annoyances, and have it enabled by default.

      I block flash for 99.8% of all web sites, only enabling it on a case by case basis with the FF extension. If a site doesn't work without javascript, I usually just don't go there. This (and adblock) makes the web remarkably less annoying.

    5. Re:To me, by gd2shoe · · Score: 1

      You missed his point entirely.

      Web browsers aren't the only things which download web pages. Web crawlers such as google, yahoo, and msn also download your pages. These crawlers wont ever render a page. They only strip out searchable content. If someone isn't careful about non-visual text (alt-texts and such) it is possible to get a very low search engine ranking for an otherwise excellent site. The same is true for javascript (read: ajax) generated content.

      Personally, I think this scenario is rare. But it is a valid concern.

      --
      I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
    6. Re:To me, by v(*_*)vvvv · · Score: 0

      Users don't want valid code: they just want pretty

      Not only that, once you're in deep for a while you realize that "valid code" is a self-defined term. Do you mean w3c valid or microsoft valid or acid 4 valid? Even the developers of each browser have their own view of "valid," hence all the diversity.

    7. Re:To me, by SanityInAnarchy · · Score: 1

      Really? I know Gmail does -- does GWT actually not do this, or are you making an uninformed statement about AJAX in general?

      --
      Don't thank God, thank a doctor!
    8. Re:To me, by FinestLittleSpace · · Score: 4, Insightful

      It's not about valid code, it's about accessibility.

      Your attitude is the same as some dick opening a shop with spiral stairs leading up to it 'cos it's prettier, right?' Yeah, except for those wheelchair users.

      There not be many disabled people compared to 'able', but if you ever become disabled one day, you'll be shouting from the roof for more accessibility just like all the rest.

    9. Re:To me, by msuarezalvarez · · Score: 5, Informative

      you probably do not know what 'valid' means in this context...

    10. Re:To me, by bucky0 · · Score: 1

      It actually doesn't.

      --

      -Bucky
    11. Re:To me, by GWBasic · · Score: 2, Insightful

      To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me.

      Your issue has nothing to do with GWT. JavaScript only has fallback for non-JavaScript browsers if you write fallback HTML; and GWT is no different.

      The same applies for spiders; your content (either static or dynamic) needs to be in the HTML part in order for a spider to see it. If your content is loaded dynamically through AJAX then no spider will see it.

      For fallback and spiders, JavaScript (either hand-written or compiled from GWT) can manipulate pre-rendered HTML. The pre-rendered HTML can either be static or dynamically-generated from PHP, Ruby, C#, brainf*ck, ect, ect...

    12. Re:To me, by penix1 · · Score: 1

      The problem is massive commercialization of the internet has led to massive abuses of javascript. Everyone is scrambling for their piece of the pie. The pop-up problem is an example of this abuse. The user shouldn't have to go to such extreams just to have a decent experience let alone a safe one. I knew the internet would go to hell in a handbasket when http://www.tampax.com/ went live. It's a cat and mouse game with everyone pushing for the attention of the user all the while the user's wishes are left out of the equation. The popularity of noscript and adblock should be a wakeup call for sites but I doubt they will get the point...

      --
      This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
    13. Re:To me, by Anonymous Coward · · Score: 1, Interesting

      Web browsers aren't the only things which download web pages. Web crawlers such as google, yahoo, and msn also download your pages. These crawlers wont ever render a page. They only strip out searchable content. If someone isn't careful about non-visual text (alt-texts and such) it is possible to get a very low search engine ranking for an otherwise excellent site. The same is true for javascript (read: ajax) generated content.

      Personally, I think this scenario is rare. But it is a valid concern.

      No, it isn't rare. I currently work as a SEO. What does that mean? I spend 80% of my working time in fixing these things. People who have not made headings as H1, H2, etc. with proper markup and CSS but have rather went the SPAN+CSS (or even FONT) route because if they don't know about search engine algorithms, they see no advantage in marking documents with H1+CSS or SPAN+CSS - it looks the same!

      (Remember, folks. Page is not valid just because it passes validator. It also should be semantically done)

      Other things I constantly need to fix include:

      • Fixing Table layouts to DIVs
      • Giving images proper titles and alts
      • Fixing Javascript and similar navigations
      • Fixing Titles to be as they should
      • Fixing layout images to be backgrounds of DIVs instead of <IMG> tags
      • Fixing cryptic urls to clear language
      • Adding titles to links

      Naturally there is more to SEO (Site structures, flow of link juice, controlling indexing with robots.txt and sitemaps, a few more blackhat things that aren't really used often, etc.) but most of my work is fixing things that the webmaster should have properly in the first place.

      And it isn't just small companies. Large companies that have e-stores that themselves give much more profit a month than I could hope to get in a year and even large, international companies... All seem to have similar problems.

    14. Re:To me, by Anonymous Coward · · Score: 5, Funny

      How do you get to the roof in a wheel chair?

    15. Re:To me, by ropak · · Score: 1

      Well, that's not 100% true. Opera mini, which I'm using really often, pre-render some javascript 'parts' of the page on the server side since it support only small subset of js specification. So if opera folks can do that I don't see a reason why search engines can't do the same. Anyway, I agree that page should render and work properly without javascript but there's no way to enforce people to make their websites/webapps like that. cheers!

    16. Re:To me, by hostyle · · Score: 1

      Nuke it from orbit! (Just to be sure)

      --
      Caesar si viveret, ad remum dareris.
    17. Re:To me, by Roger+Ramjet · · Score: 1

      Not up the spiral staircase the parent just built, thats for sure.

    18. Re:To me, by gbelteshazzar · · Score: 1

      click the basic html link ... no js

    19. Re:To me, by ray-auch · · Score: 1

      They may be a minority, but in many cases they will be a minority that you _have_ to care about - eg. visually impaired users using screen readers (that you have to support under ADA / DDA or whatever).

      Their browsers may be fully up-to-date but not support javascript.

    20. Re:To me, by vidarh · · Score: 1
      It's not that they can't, but that they don't currently do it, and I find it quite unlikely that they will, since they moment they do that they have no way of ensuring that what they generate bears any resemblance to what will be generated on the next retrieval. True, they can't guarantee that with HTML either, but the chances are much higher in genera.

      And of course there's no way to force people, but thanks to the power of Google sites made that way has a far lower chance of ending up in search results.

    21. Re:To me, by mcvos · · Score: 3, Insightful

      Not only that, once you're in deep for a while you realize that "valid code" is a self-defined term. Do you mean w3c valid or microsoft valid or acid 4 valid? Even the developers of each browser have their own view of "valid," hence all the diversity.

      Valid means "valid", which is not the same thing as "working", which is what you're talking about.

      There's no such thing as microsoft valid or acid 4 valid html.

    22. Re:To me, by level4 · · Score: 1

      You know what? I hate concessions to "disabled" people. To me they seem to telegraph this notion that it's OK people are disabled, and we all just have to work around their disabilities.

      That is bullshit. The problem is not the access, it's the disabilities in the first place. I often wonder that if half the money that's poured into making buildings (and web-sites) "disability friendly" was instead directed into fast-track R&D for actually *curing* the disabilities, whether we'd be able to solve the real problem in a much, MUCH better way.

      I hate disabilities. I hate the whole idea that someone bangs their spine in the wrong place and suddenly they can never walk again. The solution to their problem isn't installing wheelchair ramps all over the place, it's getting the disabled walking again.

      And yet we must spend 100x the amount on making everything "disability friendly" compared to research on actually fixing the problems. It's the wrong way round, it's the coward's way, and that really pisses me off.

      --
      Let my new 7-digit UID be a lesson to all - write down your passwords.
    23. Re:To me, by Viol8 · · Score: 1

      Sorry , but you can't just throw money at a particular problem and expect a solution tommorow. What do you expect the disabled to do , sit around not being able to get into any buildings for 30 years while a cure is found? Get real.

      Ok , this disability access thing has probably gone too far now , but I don't think its unreasonable to install a wheelchair ramp if its fairly inexpensive and easy to do.

    24. Re:To me, by FinestLittleSpace · · Score: 0

      Yeah. That's right. Lets funnell all the money into spinal damage research, deafness fixing, blindness fixing, EVERYTHING. We'll fix em all in a year!

      It's not really much harder to work out how to get someone onto floor two if they have wheels instead of legs. It's not like the architect is looking at a spec and going "pffffffffffffffff, that's going to take you 10 times as long as we need a RAMP not stairs!"

      Simiarly we tend to work FASTER developing sites accessible to blind people than I did when I was farting around in dreamweaver years ago.

      You're never going to prevent every disability so lets just live with it shall we?

    25. Re:To me, by ruemere · · Score: 1

      Open any book on any page. You should find many paragrpahs of neatly formatted text in a legible font.

      Dealing with disabilities, among other things, is about preserving usability of the content instead of focusing on fancy side of things.

      regards,
      Ruemere

    26. Re:To me, by Anonymous Coward · · Score: 0

      How do you get to the roof in a wheel chair?

      Spiral ramp. Pretty and accessable.

    27. Re:To me, by Anonymous Coward · · Score: 0

      also, some techy users might be using an updated browser (or maybe not so-updated) with NoScript or similar. You are annoying them.

    28. Re:To me, by level4 · · Score: 1

      No, but we could at least throw SOME money at it. How much is being spent doing serious federally-funded medical research to cure, say, paraplegia/quadroplegia? Well, I don't know if there's even a program. There is natural progress in surgery but hardly a concerted effort. And no private companies are willing to spend money on medical cures for people who could never afford to pay a proportionate cost for the treatment.

      The ADA, on the other hand, is estimated to cost $10-20 billionn for retrofitting public buildings and infrastructure alone.

      Source: http://www.cato.org/pubs/pas/pa-158.html

      (mind you I do not agree with CATO. They simply have the numbers on their site)

      Imagine what we could achieve with a tenth of that money "thrown" at a concerted effort to develop techniques and technology to heal spinal damage.

      We can't solve everything overnight, sure, and money isn't pixie dust that just magics these probelms away - but we could at least make some organised effort.

      I am not suggesting we make the disabled sit around not being able to get into buildings, of course. We should find a balance, though, between trying to work around their disabilities while accepting they are disabled as some kind of "act of god", and putting some serious effort into trying to fix the problem at its root.

      You say we can't leave the disabled waiting outside buildings they're unable to roll into. But how many would rather just get up and walk up the stairs?

      --
      Let my new 7-digit UID be a lesson to all - write down your passwords.
    29. Re:To me, by Anonymous Coward · · Score: 0

      a jet-pack.

    30. Re:To me, by ropak · · Score: 1

      I don't agree :)
      Keep in mind that adobe persuaded google and yahoo somehow to crawl flash sites (?) which, in my opinion is a bad thing. The reason behind that is most likely the fact that there are a lot of flash sites to index and search engine folks can earn additional money on adverts thanks to indexing more stuff.
      So I think it'll be the same with ajax apps, finally someone will start crawling 'em just to earn more money.
      The best thing would be to have framework which would allow you to deploy js and no-js version of site without additional work but that's a dream.

    31. Re:To me, by FictionPimp · · Score: 3, Insightful

      My problem stems from laws that require me to cater to people I may not even care about as customers.

      For example, lets say I sell stairmasters. If I do not install a wheelchair ramp, I might get sued. Does that make any sense?

    32. Re:To me, by nostriluu · · Score: 1

      OK, you care about SOME users then.

    33. Re:To me, by foniksonik · · Score: 1

      Just remember to actually talked to disabled people.... not just the groups representing them.

      You may find that those with sight impairment who need to use a screen reader, those with motion impairment, who need to use an assistive device (which basically does tabbing through your links/forms with keyboard input).... want the SAME EXPERIENCE as their fully abled peers.

      These aren't disabled anti-javascript ant-flash nuts... they're just disabled people. They want to use the latest greatest web site technology just like 90% of the people out there.

      So to use your analogy... yes they might have difficulty with a spiral staircase... but that doesn't mean they don't want the view from the second story. So don't go making single story buildings everywhere because it's easier to do that than it is to add an elevator.

      Flash can be made accessible, Javascript can be made accessible. They just take more work. If you don't have the budget to do it in an accessible manner then provide an alternative set of content (and apologize to your disabled visitors for being too cheap to give them the GOOD experience).

      The ONLY reason to do a site without script or flash is if it would not add any value... which is a very hard argument to make. People really do appreciate visual cues, preemptive form validation and *fun* - so don't think you are helping people by leaving those things out.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    34. Re:To me, by gbutler69 · · Score: 1

      Who the fuck cares about a couple of wheelchair users. This is such a bullshit argument and I'm sick of hearing it. The world doesn't cater to every little segment of the population. That's just the way it is. Get over it. Sometimes, we need to accept our limitations and realize not everything in the world is for everyone. The whole accessibility thing is over done and pointless. If reasonable accommodations can be made, then great, but if not, Fuck it! If a blind person can't enjoy my YouTube video, then too bad. That's just the way the world is! Grow up!

      --
      Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
    35. Re:To me, by cyphercell · · Score: 1

      Oh, wow, cause nobody ever argues over the implementation of a spec right?

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    36. Re:To me, by Anonymous Coward · · Score: 0

      I write websites for the government you insensitive clod. In this business I'm forced to make such concessions lest my efforts result in a lawsuit or my termination:

      http://www.section508.gov/

      n 1998, Congress amended the Rehabilitation Act to require Federal agencies to make their electronic and information technology accessible to people with disabilities. Inaccessible technology interferes with an individual's ability to obtain and use information quickly and easily. Section 508 was enacted to eliminate barriers in information technology, to make available new opportunities for people with disabilities, and to encourage development of technologies that will help achieve these goals. The law applies to all Federal agencies when they develop, procure, maintain, or use electronic and information technology. Under Section 508 (29 U.S.C. â 794d), agencies must give disabled employees and members of the public access to information that is comparable to the access available to others. It is recommended that you review the laws and regulations listed below to further your understanding about Section 508 and how you can support implementation.

    37. Re:To me, by kat_skan · · Score: 1

      So then you're suggesting that wheelchair-bound people can't or wouldn't want to do things like run a gym or buy a gift for someone who can use a stairmaster? The alternative is of course that you just didn't think of it, which should well illustrate the problem of assuming there's no need to accommodate people with disabilities.

    38. Re:To me, by ColdWetDog · · Score: 1

      How much is being spent doing serious federally-funded medical research to cure, say, paraplegia/quadroplegia? Well, I don't know if there's even a program.

      Pleased to be introduced to the National Institute of Neurological Disorders and Stroke.

      And yes, it's relatively underfunded but neurological stuff is hard. Even if the President announced a 'War on Disabilities' results would not come magically dropping from the sky. So, it is much more sensible to make web sites accessible via little coding tricks and practices and building more wheelchair ramps. Not very intellectually satisfying, but welcome to the real world...

      --
      Faster! Faster! Faster would be better!
    39. Re:To me, by wrp103 · · Score: 1

      So if a wheelchair bound grandfather wants to buy a stairmaster for his grandson, you don't want to sell it to him. Is that right? Or the injured woman who is currently in a wheelchair but wants a stairmaster to strengthen her legs? Just because you think somebody can't use you product directly doesn't mean they can't be a customer.

    40. Re:To me, by HappyEngineer · · Score: 1

      Perhaps the person in a wheelchair is a business owner who is interested in making a bulk purchase for their fitness club?

    41. Re:To me, by afabbro · · Score: 1

      The City of Portland, Oregon spent $300,000 making all of the firefighter living quarters handicap-accessible.

      Firefighters. A job for which running into a burning building and carrying someone out is a pre-req.

      --
      Advice: on VPS providers
    42. Re:To me, by Anonymous Coward · · Score: 0

      That could be the best selling point for GWT. I mean, if google said "If you use GWT, we can magically spider your Web 2.0 apps!", then just about everyone would use GWT.

    43. Re:To me, by FictionPimp · · Score: 2, Interesting

      Perhaps, sense I already knew everyone was going to make that argument, you should realize that none of you have thought this though from a business perspective.

      If I was a reseller to businesses I probably would not have a store front. I would have salesmen that I would send out. So bulk purchases are not a issue. Secondly, how many disabled people are going to buy my product as gifts? Is that profit greater then the cost of building a handicap accessible walkway to my business? If I make one handicap modification, I've opened the door to lawsuits if I do not cater to every handicap need. So now I have to take in that cost.

      The bottom line is it should be MY decision on which customers I wish to target, not the government. So lets take this to a crazy extreme. If I owned a bar and did not want to serve blacks, that should be my right. Sure it is racist, but that should be my right. I own the property, I should choose how it is run. Now I personally would not go to a racist bar, but I would not begrudge the right.

      Here is another example, my county has banned smoking in bars. How is that their right? As a non-smoker, I choose to go to non-smoking restaurants and stay out of bars for that reason (I don't like smoke.) However, I feel it is NOT my right to tell people who bought property and pay taxes that they must restrict a legal action on their property. Simply because it inconveniences some people (non-smokers) to go there. IF the non-smokers were such a market, they they would be catered to. Obviously they are not a market or there would be smoke free bars without laws being made.

      I guess I'm saying let the free market do what it does best. Forcing the hand of business is a bad thing.

    44. Re:To me, by v(*_*)vvvv · · Score: 1

      "This context" you speak of is what w3c would have you believe to be "the only" context. But from a web developer's standpoint, it doesn't have to be, and from a pragmatic standpoint, it shouldn't.

      Furthermore, even if I abide by your strict w3c standard regarding the term "valid", my point is the same. Validity has no meaning as it has no application to the user, as the poster I replied to had realized. I was simply pointing out that all the browser developers have diversified for the same reason. For example, IE thought they could make pages look prettier by doing things a different way...

      At the end of the day, when you want your page to "do something", validation should be the last thing to stand in your way.

    45. Re:To me, by v(*_*)vvvv · · Score: 1

      You got me. I didn't know "valid" was a w3c standard, and all other uses were deprecated.

    46. Re:To me, by Junior+J.+Junior+III · · Score: 1

      Guy temporarily in a wheelchair due to an accident wants to rehab and is thinking about wanting to buy a stairmaster.

      Guy in a wheelchair wants to buy his able-bodied wife a stairmaster for a surprise gift.

      These people have analogous counterparts in the WWW.

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    47. Re:To me, by Anonymous Coward · · Score: 0

      catapult

    48. Re:To me, by OldManAndTheC++ · · Score: 1

      Put the building underground.

      --
      Soylent Green is peoplicious!
    49. Re:To me, by Anonymous Coward · · Score: 0

      That's why he's asking what it means in this context. You, on the other hand, pretend to know, but are incorrect. "Valid" is a relative term, and depends on whether your goals are practical or philosophical.

    50. Re:To me, by mcvos · · Score: 1

      Oh, wow, cause nobody ever argues over the implementation of a spec right?

      There's a lot wrong with implementations of specs, particularly in the case of w3c specs, because they don't provide a reference implementation of their specs.

      Bad implementations don't automatically define a new kind of validity. A web site is only HTML or XHTML valid when is passes w3c's validity test. Whether any browser can make head or tail of it is irrelevant. And HTML or XHTML that is rendered properly by all major browsers may or may not be valid (X)HTML. A browser that passes the acid test clearly renders some valid (X)HTML correctly, but that doesn't guarantee it will render everything correctly.

      That's because most implementations of the spec suck. They're getting better (slowly), but they still suck. Although you could argue that the problem lies with the spec or the lack of a reference implementation.

    51. Re:To me, by mcvos · · Score: 1

      You got me. I didn't know "valid" was a w3c standard, and all other uses were deprecated.

      When you're talking about w3c standards (like HTML, XHTML, CSS, etc), it is.

    52. Re:To me, by abirdman · · Score: 1

      You have a lofty goal, but it's unfortunately not a solution. I work at a desk on the 8th floor with a large window that overlooks a huge (and largely accessible) pedestrian mall-like area, and I would estimate at least 5% (1 in 20) of those I see have some form of disability-- amputations, infirmities of age, auto/sports/war/medical injuries, crutches, casts, wheelchairs, walkers, canes (and don't even get me started with the women who hobble themselves with high-heeled shoes). These people work, bank, shop, travel, visit their stock brokers (who also work in my building), socialize, and dine out.

      Spinal injuries don't come close to defining "the disabled" just as the subset "complete blindness" doesn't come close to defining the full group of visually impaired.

      Using funds that pay to make the world more accessible to the disabled in order to fund a cure to spinal injuries would not improve their condition at all, but would limit their access. Ditto with Web accessibility-- it's not done as a token gift of mercy to a handicapped person-- it's done to allow a large subset of the population to get the tasks of their life done.

      --
      Everything I've ever learned the hard way was based on a statistically invalid sample.
    53. Re:To me, by FictionPimp · · Score: 1

      Again, how is it your business to decide who I should want as customers? If I exclude my market, then I will go out of business.

      There are companies out there right now that exclude me from their market. For example I hate teen pop music, so I am not the target market for disney. Handicap people are a target market. If I make it accessible, that means I want their business, if I don't then it means I don't want it. But I should not be required to.

    54. Re:To me, by level4 · · Score: 1

      Yeah, fair enough. I think I came off a little strong, sorry if I sounded arrogant/unrealistic.

      I just wish we could fix these fucking conditions. I feel guilty when I walk past someone in a wheelchair. I feel guilty when I see some poor sap with a blind stick tapping his way down the street. I wish we could just fix them.

      Wheelchair ramps and braille elevator buttons are pretty weak fucking sauce. I just want to fix these horrible problems and get people on their feet and living normal lives again. And it really just pisses me off when we just accept these kinds of ruinous injuries. And, worse, the PC industry seems to have gotten it into its head that such debilitating conditions are normal! Have you seen the ads? "Don't dis my ability"! Fucking hell man we should be *fixing* this shit, not just trying to brainwash the afflicted that somehow not being able to walk kicks ass.

      Sure we can't give up on the wheelchair ramps (as a temporary measure) but how about equal expenditure on the basic research? Pretty please?

      I have some doctor friends, so I'm well aware of how hard the problems are. But that also gave me an all-too-good understanding of how scattered, disorganised, ad hoc and directionless the research is.

      I don't give a shit how many ramps they have to roll up and down. Every single person in a wheelchair is a person we have failed. Society, and medical science, has failed and now they're trapped in a fucking rolling chair for the rest of their lives.

      That REALLY sucks and I just wish we could do more about it.

      --
      Let my new 7-digit UID be a lesson to all - write down your passwords.
    55. Re:To me, by Apro+im · · Score: 1

      For example, lets say I sell stairmasters. If I do not install a wheelchair ramp, I might get sued. Does that make any sense?

      Yeah, those assholes trying to work on their PT so they can get out of their wheelchairs are just so annoying with their "Waaaaah! I can't get into the store to buy the equipment I need!"

      Not to mention that not everything everybody buys is for themselves. You're saying that a wheelchair-bound person shouldn't be allowed to buy gifts for their fitness buff friend?

      Short answer to your question - yes, it makes sense, if you consider that you may have missed a use case, and a consistent treatment can help ensure that corner cases within corner cases aren't missed. (By the way, the whole point of the Americans with Disabilities Act and similar laws is to make up for people who "may not even care" about those with disabilities.)

    56. Re:To me, by cyphercell · · Score: 1

      this is really all just pedantic BS. You have to qualify that it is "w3c compliant" or "valid html 4.0", you can't just say that valid html is defined by the w3c when so many apps will render invalid html. The traditional definition of the word defeats the argument. For instance, Jay-Walking is a valid method for getting across the street. Legally you could argue that it is an invalid method for crossing the street, but logically you cannot deny that the walker has crossed the street. So, yes I would say that bad implementations DO automatically define a new kind of validity. If browsers refused to render invalid pages, then the terms "valid html" and "w3c compliant html" would become synonymous, but that has not happened.

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    57. Re:To me, by v(*_*)vvvv · · Score: 1

      Right. Except my reply was referring to the posters conclusion which appeared to have already moved on from the scope of w3c, and into more generalized territory.

      Users don't want valid code: they just want pretty, moving pictures and sound (that they can easily turn on and off, of course).

      To this hypothesis I gave a more generalized answer, which by the way, would still hold whether he had meant w3c valid or "working" valid.

      To a programmer, working code is "valid" code (see, now you have me using quotes).

      W3c managed the improbable. They managed to steal the term "valid" for code that doesn't work. I want my "valid" back.

    58. Re:To me, by mcvos · · Score: 1

      W3c managed the improbable. They managed to steal the term "valid" for code that doesn't work. I want my "valid" back.

      This is actually a very good point. The fact that non-working code can be valid is definitely odd, and that is IMO caused by the fact that w3c doesn't provide a reference implementation. Standards are much easier to obey when there is a reference implementation.

    59. Re:To me, by mcvos · · Score: 1

      this is really all just pedantic BS. You have to qualify that it is "w3c compliant" or "valid html 4.0", you can't just say that valid html is defined by the w3c when so many apps will render invalid html.

      I think distinguishing between valid html and valid html 4.0 is pedantic BS. Like it or not, w3c is the standards body for html and all derrived standards. The fact that browsers are able to render all sorts of unholy crap doesn't change the fact that there are actually standards for this sort of thing. W3c is unfortunately not a very good standards body, and was also suffering from near-monopolists (first netscape, then IE) who included a lot of new features in their own ad-hoc standard.

      I'm glad they got a lot more stringent with XML and XHTML. There's no such thing as invalid XML or badly formed XML; if it doesn't meet the exact standards for XML, it's not XML, and lots of tools will simply refuse to handle it (although some might still accept it).

    60. Re:To me, by ReAn1985 · · Score: 1

      I used the GWT, it was excelent but you have to realize, it's designed to build web APPS, not Websites. Additionally, it's got some kinks, and it relys so heavily on using a JEE backend (you dont need to, but the framework practically begs you to) which is a large leap and not something supported by a lot of hosting companies. I liked it, but i found myself moving back to plain PHP/MYSQL real fast.

  5. It's used... by AKAImBatman · · Score: 2, Interesting

    ...just not as much as you might expect. Part of the issue is that it's designed for when you develop your application from scratch. Generally with the intent of developing a desktop replacement webapp. The only problem is that not many companies are investing in such apps. They're investing in using DHTML/AJAX to make their sites more interactive rather than replacing the HTML interface outright. In that situation, GWT is not the ideal solution. (e.g. For quite a while, you couldn't even have more than one widget per page!) It works though, so you'll find it pop up here and there.

    On a personal level, I'd rather see the effort spent learning GWT applied to learning Javascript and the web technologies instead. There are a lot of frameworks out there, but none of them are actually needed in 90% of the cases. What we actually need are programmers who know how to write maintainable and highly interactive Javascript components for their sites. Such knowledge allows them to get the job done faster than mucking about with Yet Another Framework(TM) designed to take a cannon to the problem of killing a fly.

    1. Re:It's used... by John_Booty · · Score: 5, Insightful

      On a personal level, I'd rather see the effort spent learning GWT applied to learning Javascript and the web technologies instead. There are a lot of frameworks out there, but none of them are actually needed in 90% of the cases. What we actually need are programmers who know how to write maintainable and highly interactive Javascript components for their sites. Such knowledge allows them to get the job done faster than mucking about with Yet Another Framework(TM) designed to take a cannon to the problem of killing a fly.

      It's not learning Javascript that's the big obstacle to coding your own solutions sans framework; it's dealing with the browser compatibility issues. Frameworks largely compensate for that.

      If you write your own non-trivial Javascript code, you have to test on IE 6/7/8, FF 2/3, Opera 9.whatever, Safari 2/3, etc etc etc etc.

      --

      OtakuBooty.com: Smart, funny, sexy nerds.
    2. Re:It's used... by AKAImBatman · · Score: 2, Interesting

      It's not learning Javascript that's the big obstacle to coding your own solutions sans framework; it's dealing with the browser compatibility issues. Frameworks largely compensate for that.

      The ideal solution in that case is NOT frameworks. It's to have runtime patches available that make your code run predictably on all browsers. That way if you need to support a new browser, you just add a new patch so that it functions predictably. (If necessary.) Since such patches tend to function based on whether or not a particular feature exists rather than the browser itself, they automatically deactivate when the browser maker finally gets it right.

      In practice, of course, things are not nearly as bad as they're made out to be. IE needs the most patching for issues like DOM2 Events (or lack thereof), but otherwise coding to the base standards means portable code across browsers. No significant part of the industry is really doing anything fancy like SVG, Canvas, or Local Storage. (Yet, anyway.) The simple loop of "event fired, contact server, get response, update DOM" is actually pretty straightforward. Especially in the circumstances where GWT fails.

      Meanwhile, I've seen all manner of screwy problems caused by folks who try to plugin a framework. One of my favorites was an issue with the prototype library where it was incorrectly deleting the "display" value to make an element visible. Obviously the hope was that it would display as a block element by default. Let's just say that it didn't always work right.

      The reason why that example is my favorite is that it's such a stupid little thing. All that was needed was a simple "document.getElementById("myelement").style.display = 'block';" and you're done. There was no reason to abstract that. The abstraction actually CAUSED cross-browser issues rather than solving them. Not a good design.

    3. Re:It's used... by Anonymous Coward · · Score: 0

      You know, I'll take the frameworks any day. I am so tired of fighting browser compatibility, I'll let someone else do it. I'd also rather write much less code. prototype scriptaculous have greatly shortened my development time, because instead of spending 8hrs fighting browser incompatibilities, I write 10 lines of code and it just works... While the frameworks aren't perfect neither was my code, (or is your code) and if I need to fix something so be it, but to have 90% of what I need instantly is far better than writing it all from scratch

      As to the GWT discussion. Not everyone writes in Java that is a huge part of in IMO. I like php, didn't jump on the Ruby bandwagon, instead i picked up Symfony which has also increased the time in which I am able to develop.

    4. Re:It's used... by AKAImBatman · · Score: 2, Interesting

      I'd also rather write much less code. prototype scriptaculous have greatly shortened my development time, because instead of spending 8hrs fighting browser incompatibilities, I write 10 lines of code and it just works...

      You write a runtime patch once and you're done. Meanwhile, you upgrade your Prototype and Scriptalicious libs and then spend an ungodly amount of time troubleshooting incompatibilities between versions.

      Sounds like a winning proposition to me. ;-)

      Frameworks are almost most often more trouble than they are worth. Once you understand Javascript, you realize how stupidly simple most of the tasks are, and how much time you've been wasting on the framework. If you don't understand Javascript, you probably have wasted dozens (if not hundred!) of hours fighting with issues that are actually very avoidable to begin with.

      e.g. Most folks don't understand Javascript scoping. So they'll be surprised when they accidently change a variable that they're using elsewhere in the code. A very simple mistake to avoid if you've read the documentation. But as Douglas Crockford of JSON fame has pointed out, most programmers start trying to hack the language without first understanding it. Which is a huge mistake considering that Javascript is only superficially similar to C/C++/Java-type languages.

    5. Re:It's used... by raddude99 · · Score: 2, Informative

      Sorry what!! You can only GWT if your application is "designed from scratch" from my perspective you are very wrong! Where I work we have a very large existing J2EE application (12 million lines of Java code and 1500 web pages!) and we have started to use GWT. A couple of months ago we started using it for some custom individual widgets but now we are using it for whole screens as well, and we intend to use it more as time goes on. As for the the effort to learn GWT, it's minimal... if you know Java (and know the basics of Java-based UI development, say, Swing or SWT) that is! As a caveat we've got 30+ developers most of whom show no interest in furthering their javascript skills but are much happier to learn a new Java-based UI framework.

    6. Re:It's used... by gnud · · Score: 1

      I think I understand Javascript reasonably well, but I still use prototype. Some of the DOM extensions are great (like adding/removing css classes), and the iterators are a treat.
      Sure, I don't always use the whole library (for example, I rarely use the $$() function, which returns a set of DOM nodes that match a given CSS pattern). But a lot of the small, simple functions that the library offers, really simplify development. And by avoiding duplicate functionality, in large applications it reduces memory load etc.

    7. Re:It's used... by bradx3 · · Score: 1

      If you delete the display value, wouldn't the element end up with whatever display value was set in css?

      Say you've got an element with id "foo". There is a css rule:
      #foo { display: inline; }

      If you hide foo, then show it again it seems like setting display = "block" would cause some problems. Setting display = "" would show the element, and keep it inline I think.

      Or am I missing something?

    8. Re:It's used... by Anonymous Coward · · Score: 1, Insightful

      I don't understand why you're getting modded so high for these comments.

      While I agree with some of what you say, the main attraction of using prototype - besides browsers compatibility issues - is that it's much more brief.

      Almost all prototype methods return the element it's called on, which enable you to turn:

      var ele = document.createElement('iframe');
      ele.id = 'new_frame';
      ele.className = 'shim';
      ele.src = 'whatever.html';
      ele.style.display = 'inline-block';
      ele.style.backgroundColor = '#000';
      document.body.appendChild(ele);

      into:

      document.body.append(new Element('div', {'class':'shim', 'id':'new_frame', 'src':'whatever.html'}).setStyle({display:'inline-block',backgroundColor:'#000'}));

      So they got a method call wrong. Submit a patch.

      Not only that, but the runtime patch approach to compatibility isn't something I've seen used a lot in prime-time. Don't get me wrong, it's obviously the ideal solution to browser incompatibility, but it seems to me to be more trouble than it's worth. It requires some architecture changes and a lot of the browser bugs are a total bitch to sniff. Besides, it doesn't even solve one of the main problems with javascript - it's extremely verbose nature.

      BTW. If you want to do any real heavy lifting with prototype you better be aware of how scoping works.

    9. Re:It's used... by rufus+t+firefly · · Score: 2, Informative

      GWT isn't a traditional Javascript framework. It doesn't have if...else clauses meant to give browser compatibility, but rather optimized chunks of heavily optimized Javascript which are selected based on locale and browser on initial load.

      It's not fair to say that GWT has the same disadvantages as toolkits like Dojo, Ext, Prototype, etc, since it's really not the same thing.

      Also, it's one of the few open "Web 2.0" frameworks to have a really nice visual designer available.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
    10. Re:It's used... by FictionPimp · · Score: 2, Insightful

      The way we run it, we use a set version of the library for a page.

      We decided to go wtih jquery + plugins. So for one site I use one version of jquery. We will not update that jquery for that site (baring security updates). If the customer needs more work done, we use that same version of jquery.

      Now a new project needs done, now we move to a new version of jquery. When the customer needs a major design change, that is the time to change the tools. Otherwise, if it's not broke, don't fix it.

    11. Re:It's used... by nostriluu · · Score: 1

      Excuse me, I need to stop laughing. Ok. Could you please explain to me what sort of code base could be 12 million lines of Java code? I assume you are excluding generated code, included comments, white space, etc.

    12. Re:It's used... by MrMunkey · · Score: 1

      Doug Crockford recently wrote a book about this very issue of avoiding problems. It's called Javascript: The Good Parts I've been reading it (haven't finished yet) and it's quite good. He's very detailed about how the internals of the language work so you know why to use the "good parts" and a few reasons to avoid the really "bad parts". It's worth the few dollars for anyone that uses JavaScript regularly.

    13. Re:It's used... by xannik · · Score: 1

      The ideal solution in that case is NOT frameworks. It's to have runtime patches available that make your code run predictably on all browsers. That way if you need to support a new browser, you just add a new patch so that it functions predictably. (If necessary.) Since such patches tend to function based on whether or not a particular feature exists rather than the browser itself, they automatically deactivate when the browser maker finally gets it right.

      So how do you know what DOM elements you need to write run-time patches for? Most likely the answer is you either (A) had a problem with something behaving correctly in browser X or (B) you know browser X has certain deficiencies when it comes to supporting the JavaScript standard. In both cases the developer has to have knowledge about how different browsers behave for different elements in order to know that they need to write a run-time patch to test if a particular DOM element exists or not. Otherwise if you just assume you are going to write run-time patches for all DOM elements you are "not quite sure about" then you will have a lot of extraneous code.

      The point of a lot of frameworks including GWT is that the application developer does not need to keep up with the rapidly changing compatibility issues of all the different browsers. This significantly decreases development time and ensures that the code the developer writes is widely compatible across the major browsers.

      Now there still might be compatibility issues even using a framework, b/c a framework may not have knowledge of all browser compatibility issues and in these cases you will still have to track down the issue yourself. The point is that these cases are pretty rare using the frameworks and across a whole project the time savings benefits will outweigh the time developers spend tracking down these rare issues.

      I'm a big believer in the 80/20 or 90/10 rule, and I think the odds are actually a lot better than that when using frameworks for your code.

      --

      Go Illini!!!
    14. Re:It's used... by Shados · · Score: 1

      A -lot- of companies are doing that (replacing desktop apps with web apps). Its just not the kind of company that will scream about it up the roof. Those apps stay internal, they work (well, often they don't, but thats an issue with the company =P ), and there's no point in telling anyone you did it. So you'll never hear about it, giving the feeling its rare. GWT and similar frameworks are used quite a lot... just not very big in public.

    15. Re:It's used... by raddude99 · · Score: 1

      Easily explained, firstly you assume wrong! It is of course much easier to count all lines in all java files to come up with the 12M figure. Taking out the generated code (which accounts for about 50% of the codebase), the actual number of genuine lines (excluding comments/white space) is probably closer to the 3M mark. As for why it's this big, it is a very large enterprise banking application (Our database for example is at 575 tables and counting) that has been worked on by a team of about 30 developers for the last 8 years. Now, roughly doing the numbers, that's: 3000000 lines / 8 years = 375000 lines per year 375000 / 30 = 12500 lines of code per developer per year, OR 12500 / 220 = 56 new lines of code per developer per day. Personally, I wrote more than twice that number of lines of code so far today, but then Java is a verbose language.

    16. Re:It's used... by nostriluu · · Score: 1

      Maybe you should work on reducing your LOC. :)

    17. Re:It's used... by afabbro · · Score: 1

      almost most often

      Parse error.

      --
      Advice: on VPS providers
    18. Re:It's used... by afabbro · · Score: 1

      I'm sure you are right! Because you use a lot of exclamation points! And that means you must be right!

      --
      Advice: on VPS providers
  6. We had a POC Report Designer by j_kenpo · · Score: 4, Insightful

    We built a Proof of Concept Report Designer and Report Viewer on top of BIRT using GWT for the interface. It had some cool features, like multi-user real-time report development, versioning, and tie ins to the commercial report repository that the company that built BIRT sells. It had a real nice WOW factor to it, but in the end, it was just a pretty POC that we could show at conferences, it would never replace the desktop version due to responsiveness (imagine, an Eclipse app that is more responsive than something else...) IMHO, web technology is just catching up in the UI space to where desktop apps were like 15 years ago, and Web 2.0 is still a tacky buzzword. To do some things that are trivial in a desktop app requires a lot of convoluted steps (callbacks, etc). And even things that would be done the same way still requires a network round trip to get information that desktop apps don't suffer (simple tasks like dynamic drop-down or list population). GWT is a step in the right direction, and the ability to debug in an IDE both client and server side components is very nice.

    1. Re:We had a POC Report Designer by SanityInAnarchy · · Score: 1

      To do some things that are trivial in a desktop app requires a lot of convoluted steps (callbacks, etc).

      Don't tell me you've never used callbacks in a desktop app?

      And even things that would be done the same way still requires a network round trip to get information that desktop apps don't suffer (simple tasks like dynamic drop-down or list population).

      Except usually the point of doing this in a web app, as opposed to a desktop app, is that the data is stored somewhere else. If a desktop app would be doing the same thing -- making a SQL call to a database, or accessing a shared file on a network store -- then you lose nothing by doing this with the web app.

      Unless you aren't smart enough to cache the results in the web app, the way you would for a desktop app... And even then, I suspect that the browser should be able to cache many XHR calls, if they're designed to be cacheable.

      --
      Don't thank God, thank a doctor!
    2. Re:We had a POC Report Designer by j_kenpo · · Score: 1

      The point was not "OMG big scary Callbacks", it was that the inherent nature of the platform requires steps that wouldn't be necessary in a desktop app. Callbacks were just an example. Data can still be stored "someplace" else in a desktop app and still have shorter number of hops. Using the DB example, a desktop app, you would have communication from App -> DB that could be handled in a single method. In a GWT app, you have Web Client -> Web Server -> DB, handled with at the minimum a method on the client to invoke the call, a method on the server to handle the call, a message class, and a callback class to handle the results are the minimums in a GWT app for the same task. Thats not even taking into account caching since a simplified example can illustrate this just as well.

      Not degrading GWT since I am a big supporter of it, just pointing out that there is a lot more planning involved and leg work involved.

    3. Re:We had a POC Report Designer by Lennie · · Score: 1

      Blame IE, it is what keeps the web moving forward

      --
      New things are always on the horizon
    4. Re:We had a POC Report Designer by Anonymous Coward · · Score: 0

      I have to agree with this post! I can understand, that "user experience" is better with AJAX when it comes to launching the application. But once an application is loaded, user experience is much better with desktop applications (which are locally installed).

      For programmers AJAX is a big step backward. Using HTML forms as a GUI is even worse than character modus programming in DOS or CICS. Of yourse - GWT solved much of this problems. But my clients still prefer very rich desktop apps. Of course - they want data to be accessed from home, from any other computer. But all this can be done in the old, proven client/server fashion with optimized protocols/remote calls.

    5. Re:We had a POC Report Designer by SanityInAnarchy · · Score: 1

      Using the DB example, a desktop app, you would have communication from App -> DB that could be handled in a single method. In a GWT app, you have Web Client -> Web Server -> DB, handled with at the minimum a method on the client to invoke the call, a method on the server to handle the call, a message class, and a callback class to handle the results are the minimums in a GWT app for the same task.

      That would suggest limitations in GWT, not in the model itself. If you're really going to open the database up directly, without access restrictions, you can always implement a simple HTTP->SQL proxy, and send SQL commands back directly from JavaScript.

      If this sounds like a horrendous security issue for you, good! It's got you thinking. A similar desktop app has exactly the same security hazards -- it would need a proper server (and not just a proxy) to be secured.

      --
      Don't thank God, thank a doctor!
    6. Re:We had a POC Report Designer by Anonymous Coward · · Score: 0

      The precious milliseconds that are lost in the controls in a web UI are painful. If you have the training to really measure this work you realize the productivity loss. I really love when a clever developer tries to reinvent the behavior of a drop down or a scroll bar.

      From another angle I have 3000 PC's on a 3-5 year refresh cycle. I have a pair of web servers on a 4-7 year cycle. I now have 3000 times 3 GHZ of CPU bandwidth and 3000 times 1 GB of ram waiting on a 5 year old pair of AIX Power boxes with 16gb RAM. This is a silly waste of power and memory on the desktop.

      Everyone in the real world (not slashdot) uses Office. These apps set the gold standard due to their familiarity and powerful UI metaphors. The desktop applications we have to build within a browser are Windows 2.0 at best. I have to design everything as a text or click metaphor. Whatever happened to graphical interactivity and WYSIWYG? Ever try to draw a picture in a web app?

      I am trying to use JSF and i cannot get my dev team to even line up the text inside of the edit boxes. the font spacing and layout is just awful. I won't even mention printing a rich report.

      My table controls cannot even paginate! We have been debugging an issue where the data return set has 10,000 items and it eats all the memory on my web server which takes down the whole JVM not just slowing down a single PC. Now are business is stuck waiting for a fix.

      thank you all for helping promote a stateless single point of failure solution. it is so much better than writing a Windows app on Vista.

  7. Seems Too Heavy by telbij · · Score: 4, Interesting

    I'm a long time web developer but I've never even cracked open the box on GWT, so take this with a grain of salt.

    The idea of depending on generated javascript scares me. I'm against writing Javascript in Java, Ruby, Python or anything else. Javascript is just too much of a beast to debug to leave everything up to an opaque framework, and I want to be able to get my hands dirty. I like the smaller and more traditional open-source style frameworks. Prototype, jQuery, MooTools, even Dojo just scare me a lot less.

    It could be totally irrational, and it also could be the fact that I tend to build web applications that need minimal state and pretty basic AJAX interactions. Nothing anywhere near as dense as, say, Gmail. If the right project came along I'd definitely give it a more serious look.

    1. Re:Seems Too Heavy by LowlyWorm · · Score: 1

      I'm in the same boat. I get the impression Google is aiming at the non-HTML masses. In principle, that is a good thing, I suppose. It just doesn't feel like it is mine without editing code with a text editor though. Google is fairly good at improving their products so maybe it won't always be that way. I get the feeling that "click a button - add a pretty picture " may be the future.

      --
      Time flies like an arrow. Fruit flies like a banana.
    2. Re:Seems Too Heavy by Anonymous Coward · · Score: 0

      GWT doesn't stop your from using Javascript frameworks. JSNI (JavaScript Native Interface) lets you call whatever Javascript you want. JSNI is to Java, what Inline Assembly is to C/Pascal. You can still use the Javascript frameworks if you want. It just provides you with a better way to leverage them.

      But it probably makes more sense to use native GWT widgets when you can so that the generated Javascript is lighter than depending on the big frameworks. Less JS to load.

      GWT can generates smaller, more optimized JS than a human can by hand. It creates separate JS files for the different browsers, so the use is only loading code for the browser that they are using. GWT uses all kinds of optimization techniques like its support for image bundles.

      I wouldn't use GWT for a small project that is light on Javascript and AJAX. But I don't work on projects like that, I work on pretty large web apps that are basically desktop replacements. So GWT is amazingly useful to me.

    3. Re:Seems Too Heavy by encoderer · · Score: 1

      That's fair.

      Especially given your last sentence.

      But I would qualify that GWT shouldn't be lumped with "other frameworks."

      It's simply a compiler that produces JS instead of Bytecode. As long as you can trust the compiler (and you can trust this compiler) then that removes a lot of headache. I'm not mocking you, but it would be like saying "Assembly is just too much of a beast to debug..."

      The beauty is that you never need to debug the JS. If there's an error, you debug the Java inside eclipse.

      And in the absolute worst-case scenario, you set the flag that tells GWT not to minimize the JS code so you can track down specific parts of the JS code and use that to tweak the corresponding Java code.

      But when was the last time you needed to decompile, say, a C++ application in order to debug it? These things don't happen very often...

    4. Re:Seems Too Heavy by telbij · · Score: 1

      The difference in reliability between assembly and javascript is the issue I'm concerned about. That doesn't mean Google isn't on top of those issues, but they're still scary.

    5. Re:Seems Too Heavy by Anonymous Coward · · Score: 0

      I have use GWT for several months and it is amazing how easy the debugging is. GWT seems to tame much of the beast.

    6. Re:Seems Too Heavy by mcfedr · · Score: 1

      Id have said using something such as mootools (which i personaly use alot), makes simple ajax interaction much simpler to code, and gives much more reliable cross-browser support but yea, gwt, which i've use alittle, is definatly for building full on web apps, not just enhancing basic pages

    7. Re:Seems Too Heavy by Anonymous Coward · · Score: 0

      I'm a long time web developer but I've never even cracked open the box on GWT, so take this with a grain of salt.

      The idea of depending on generated javascript scares me. I'm against writing Javascript in Java, Ruby, Python or anything else. Javascript is just too much of a beast to debug to leave everything up to an opaque framework, and I want to be able to get my hands dirty. I like the smaller and more traditional open-source style frameworks. Prototype, jQuery, MooTools, even Dojo just scare me a lot less.

      It could be totally irrational, and it also could be the fact that I tend to build web applications that need minimal state and pretty basic AJAX interactions. Nothing anywhere near as dense as, say, Gmail. If the right project came along I'd definitely give it a more serious look.

      I'm a long time developer but I've never even cracked open the box on C, so take this with a grain of salt.

      The idea of depending on generated assembly scares me. I'm against writing Assembly in C, C++, or anything else. Assembly is just too much of a beast to debug to leave everything up to an opaque framework, and I want to be able to get my hands dirty. I like the smaller and more traditional open-source style frameworks.

    8. Re:Seems Too Heavy by telbij · · Score: 1

      You fail. My issue is not with compiled code in general, and it's not in any way reasonable to assume that compiled javascript would be as reliable as compiled assembly for a variety of reasons.

  8. There are GWT apps, but not in the public web by Cyberax · · Score: 3, Interesting

    There's a lot of corporative GWT-apps because it's, probably, the best toolkit for rich-client web applications.

    However, it's not used much in the public web because most sites just don't need that kind of user interfaces.

    Also, GWT is incompatible with web spiders.

    1. Re:There are GWT apps, but not in the public web by Anonymous Coward · · Score: 0

      Can you cite your claims? or are you just guessing...

    2. Re:There are GWT apps, but not in the public web by Anonymous Coward · · Score: 0

      I can confirm several large corporate sites (having worked on them) but am not at liberty to give more details. It's a pain to get started with, but for large projects it ends up being a big win compared to a 100 KLoc of javascript. Used correctly, it can be much faster too. My gut feeling on lack of adoption is that many people have added javascript to the sites piecemeal, instead of redesigning from scratch. GWT is much better suited for full rich-client sites.

    3. Re:There are GWT apps, but not in the public web by Cyberax · · Score: 1

      There's no public stats, but I have personally worked on GWT projects for some big companies.

      You can indirectly measure the level of activity by checking mailing lists of GWT and GWT-related projects. There's a fair lot of traffic.

    4. Re:There are GWT apps, but not in the public web by Anonymous Coward · · Score: 0

      I'm working for a company that writes software for running on set top boxes (IPTV). Some of us are looking at the case for moving to GWT.

      One of the big things in its favour is that because there's so much Javascript programming involved the company hires Java programmers anyway to do the work. I suspect we'd also see improved performance running on such low spec devices, although that's not actually as big an issue for us as you might think.

      The main problem is that we're not using HTML, we're using SVG, but there's also a fairly high entry barrier for us to convert. I think for us it'd probably be well worth it eventually though.

    5. Re:There are GWT apps, but not in the public web by vagabond_gr · · Score: 5, Insightful

      I couldn't agree more. There 2 very different ways to use Ajax:
      1) have a traditional site and embed small "Ajax goodies" here and there, like digg does with comments.
      2) have a 100% Ajax site, like GMail.

      Cleary, GWT is good for (2), not (1). Now ask yourself, how many full Ajax sites do you know? GMail, Yahoo mail, a couple more? So it's not a problem with GWT, it's just that the idea of a full Ajax site is not suitable for the open web, it is much more useful for intranet and web-apps use.

    6. Re:There are GWT apps, but not in the public web by mcvos · · Score: 2, Interesting

      There's a lot of corporative GWT-apps because it's, probably, the best toolkit for rich-client web applications.

      There's also Java Applets.

      Admittedly never got the popularity Sun originally hoped for, but if you want filthy rich clients, Java applets can do that for you.

    7. Re:There are GWT apps, but not in the public web by Cyberax · · Score: 1

      Actually, we use GWT in our embedded devices.

      It's superb! Our embedded server just needs to serve static files with GWT app to client browsers. No need for any active content, so it's fast and painless.

      We also have a separate C++ application which implements RPC services for GWT app. It's also small and fast, since it doesn't need to concern itself with serving HTML/js files.

    8. Re:There are GWT apps, but not in the public web by rufus+t+firefly · · Score: 2, Informative

      You might want to take a look at Google Gadget support, which does a lot of #1, and does it with the same advantages you'd get writing a pure GWT app.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
    9. Re:There are GWT apps, but not in the public web by cac619 · · Score: 0, Interesting

      I agree, I work at a VERY large bank and we are currently building a huge internal app used by all of our bankers, call centers, etc. We have in recent years moved all of our fat apps to web apps and we needed something that could handle a ton of AJAX calls easily. I love being able to debug in Java and have it output js. So far it's been a breeze to work in. It's great for this type of application.

    10. Re:There are GWT apps, but not in the public web by mcfedr · · Score: 1

      gwt isnt for sites that need spidering, a site such as gmail, doesnt need to be indexed, spiders as for searching content, gwt is for apps

    11. Re:There are GWT apps, but not in the public web by afabbro · · Score: 1

      There's a lot of corporative GWT-apps

      So you're saying they're fat clients...

      --
      Advice: on VPS providers
    12. Re:There are GWT apps, but not in the public web by Anonymous Coward · · Score: 0

      I couldn't agree more. There 2 very different ways to use Ajax:
      1) have a traditional site and embed small "Ajax goodies" here and there, like digg does with comments.
      2) have a 100% Ajax site, like GMail.

      Cleary, GWT is good for (2), not (1).

      Actually, GWT is very strong in both (1) and (2). It's not just for building full applications. It can be successfully used to insert bits and pieces of functionality into existing pages. It can even be used to manipulate the DOM. The GWT team intended it to be used in both ways.

      That is one of the great qualities of GWT. It doesn't force you to abandon your existing framework.

  9. Best for standalone apps by Slackrat · · Score: 1

    I have used it for a transit/maps mashup application and it worked like a charm. I would agree with those who argue that it's great for writing new web-based apps from scratch and less for adding incremental dynamic features to largely static content sites.

  10. My (possibly stale) impression by dubl-u · · Score: 2, Interesting

    I spent a month using it to build something in April 2007, and it was a big ol' pain. Getting something that roughly worked wasn't too bad, but there were a number of bugs and quirks that cost me time and headache.

    Also, their rendering components generated an awful lot of hard to manage HTML and CSS. There were several display issues I never got quite right, and when I asked a front-end whiz to help me out, he had some very unkind things to say about the generated code.

    My end impression was that it was about 0.7 in quality, needed a lot of polishing, and was really only useful for Java people who didn't want to understand what was actually going on in the browser. Were I to do that project over again, I'd instead just use something like JQuery, and learn how to do JavaScript properly, rather than hoping a framework would save me from my ignorance.

    1. Re:My (possibly stale) impression by Anonymous Coward · · Score: 0

      That is an experience very similar to mine. I also spent a few months building a web app using GWT in 2007 but found it limited in functionality and difficult to get it to do what I wanted. While reviewing the options I had before the next project I fell in love with JQuery, which simply said, made programming javascript fun again. It is small and extendible, lets me do what I want without getting in my way and handles all those messy browser compatibility parts for me.

    2. Re:My (possibly stale) impression by FictionPimp · · Score: 1

      I'm not sure what your site required. I use jquery for 'normal' websites. For internal applications however I have been using the extjs toolkit and loving it.

    3. Re:My (possibly stale) impression by Anonymous Coward · · Score: 0

      Also, their rendering components generated an awful lot of hard to manage HTML and CSS.

      Doesn't sound like you knew what you were doing, which was probably part of the problem. GWT generates Javascript, not HTML or CSS. The CSS you edit yourself to style the components. There isn't much straight HTML to speak of, unless you are talking about the HTML that the Javascript spits out.

      If you want to use GWT effectively, take some time to learn Javascript. Not only will you be able to understand what your code is getting generated to better, but you can leverage JSNI to write your own Javascript as needed. Also, you can ask GWT to output pretty-printed Javascript that is more readable, I don't know if you or your "front-end whiz" were aware of that.

    4. Re:My (possibly stale) impression by dubl-u · · Score: 1

      There isn't much straight HTML to speak of, unless you are talking about the HTML that the Javascript spits out.

      Yes, that's exactly what I'm talking about. That's why I said, "their rendering components generated".

      If you want to use GWT effectively, take some time to learn Javascript.

      GWT seems mainly to be useful for people who know a lot of Java but not much lot of JavaScript. Now that I have taken the time to learn JavaScript better, I'm inclined just to skip GWT and write the JavaScript directly, so that I don't have to deal with their whole infrastructure.

  11. Java.. ew. by Anonymous Coward · · Score: 0

    Personally, I was impressed with the toolkit and completely turned off by the use of Java. I'd much rather be programming in python, although admittedly it would make the most sense to use PHP.

    1. Re:Java.. ew. by narthollis · · Score: 1

      Personally i entirely agree... although my reasoning is not so much 'Ewww' its java as 'I don't want to have to install yet another server module'.

      After screwing around with a lot of the well known JavaScript libraries (notably: Prototype+script.aculo.us, jQuery, Dojo and YUI) as well as a GWT, i settled for Prototype+script.aculo.us - simple, and easy were the main reasons behind this. In the end GWT didn't even come into the decision due to the restriction on server side language.

      For me, using something like Prototype makes the entire concept of graceful degradation easy.
      Also, Prototype isn't something i mind loading for that small quick page that needs an updating panel - where as most of the others seamed like excessive bloat in this case.
      (and if you suggest that pain JS would be better than loading prototype, it wouldn't relay, blasted browser/ajax compatibility)

    2. Re:Java.. ew. by rufus+t+firefly · · Score: 1

      After screwing around with a lot of the well known JavaScript libraries (notably: Prototype+script.aculo.us, jQuery, Dojo and YUI) as well as a GWT, i settled for Prototype+script.aculo.us - simple, and easy were the main reasons behind this. In the end GWT didn't even come into the decision due to the restriction on server side language.

      Could you explain this? GWT doesn't necessarily have to be run in a servlet container, it can be precompiled and left on the server to interface with things like PHP or Python, or just use the JSONRequest support in GWT. So, there's no actual advantage to using something like YUI or Dojo, since GWT can call back to whatever your server-side component is in the same way that YUI, Dojo, script.aculo.us, etc could.

      Dojo was *horrible* to build an interface in, especially when the Dojo team kept breaking their API with every release, usually in subtle ways that weren't necessarily apparent.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
    3. Re:Java.. ew. by pohl · · Score: 1

      I think a lot of people take a casual look at GWT's RPC mechanism and walk away with the assumption that their back-end has to be done in java. My project happened to use a java backend, and the stuff you get "for free" with their RPC mechanism is really nice but there's no reason you can't use an ordinary JSON service written in you're favorite backend.

      It's like taking a quick glance at a swiss army knife, noticing the cork screw, and tossing it aside saying "meh, you need a bottle of wine to use this".

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    4. Re:Java.. ew. by marxmarv · · Score: 1

      Dojo was *horrible* to build an interface in, especially when the Dojo team kept breaking their API with every release, usually in subtle ways that weren't necessarily apparent.

      I'm a backend coder who knows databases, Java, some PHP, and Linux.

      I inherited a mid-size PHP project that's just about to ship a 1.0. There were some new features needed. I tried using Dojo for its easy controls and DnD functionality. Absent a really good reason (like a stable API), I would not use Dojo again, despite the slick chrome, for two reasons. One is the tumbling API. The other is that the three big reasons I picked Dojo (dijit.Tree, dijit.Editor, and not having to deal with IE specifics) were buggy, incomplete, and/or unpolished as of 1.1.1. (Why does the default ItemFileWriteStore serializer produce JSON that it can't load back in? Does anyone even test this stuff?) Instead we lightly hacked dTree and htmlArea and that's gotten us to a usable if imperfect state.

      The current code was written in 2000-vintage PHP and I'm pretty certain that it's not going to survive until the next major release. The short list of possibilities so far is GWT, move out of the browser entirely and use Java or even PerlTk on the frontend and anything but PHP on the backend, or bring in a frontend coder who has the wherewithal and patience to deal with this web app nonsense.

      --
      /. -- the Free Republic of technology.
  12. Pain in the ass! by Anonymous Coward · · Score: 0

    Single page Ajax website = pain in the ass.

    The premise of writing DHTML/Javascript and backend in one language (Java) and stuffing everything into one page sounds great, but creates complexity and headaches as the size of your project grows.

    As a web programmer, you HAVE to learn HTML, proper layout, Javascript, server/client data format and some serverside language with data abstraction. My tools of choice is Blueprint, JQuery, JSON, and Perl/PHP/Ruby/Python.

    If you really must have a rich client, I would suggest Flex over GWT.

  13. Sounds kind of like ASP.NET development, minus IDE by Anonymous Coward · · Score: 0

    This sounds kind of like ASP.NET development, minus the integrated IDE. Also, it's not particularly clear how to roll this out to my favorite hosted environment.

  14. You should try Apache Wicket by Anonymous Coward · · Score: 1, Informative

    > But this is the first UI technology I've found where I can write in the native language of the server (Java) to generate and unit-test the UI code

    Wicket is all java, does Ajax very nicely and support unit test. It's component base with tons of contributed ones. Has a very active community and a very helpful mailing list.

    1. Re:You should try Apache Wicket by Chrisq · · Score: 1

      Wicket looks good but it is component based. It has a lot of components, but that isn't the same as being able to do anything that javacript can. What would be really cool is a combination of the two, so that custom components can be written in Java, debugged as Java, and compiled to Javascript.

      Wicket and rsf are HTML-centric systems, you design your pages in HTML and the framework adds the components. This is good, you can use dreamweaver or any XHTML-compliant editor to get a nice look and feel, but it is only one way of doing it. The alternative is the GUI designer type interface, like the GWT eclipse plugin or JSF. Here you design your page like a GUI application. This is good where you want "web applications" rather than smart web pages.

      It will be interesting to see which way tools go, I think there will be a divergence into the two ways of designing.

    2. Re:You should try Apache Wicket by master_p · · Score: 1

      You have to write HTML in Wicket. It's not all Java.

  15. Why the conclusions? by bogaboga · · Score: 1, Insightful

    ...it's been a year and a half since they open sourced it and I have to admit that I am more than a little disappointed by its low profile in the UI community...

    There are more than 67 million businesses in the world and I wonder how many of those you have polled. Can you tell us how many of those businesses you have surveyed?

    If you don't and you've used it yourself, why isn't it taking off? Is it too immature?

    If you are asking a question and providing the answer, I wonder why you even ask.

    In your submission, you should at least have informed us about Google's view on this issue is, if you wanted us to take you serious. Be serious please.

    1. Re:Why the conclusions? by Anonymous Coward · · Score: 1, Funny

      I asked a few guys in a neighborhood bar last night, and no one knew about GWT, so extrapolating my sample means that they have 0% coverage.

  16. one fairly large website that uses GWT by Pinchiukas · · Score: 5, Informative

    Probably the most popular social website in Lithuania uses GWT - www.one.lt.

    1. Re:one fairly large website that uses GWT by fretlessjazz · · Score: 1

      Or, imagine, being able to be magically whisked away to... Lithuania!


      ...I can make this joke because I'm from Iowa.

    2. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 0

      Hey... I'm in... Lithuania /Garth

    3. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 0

      Oh, that's why it looks so fugly...

    4. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 3, Funny

      wow

    5. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 1, Informative

      Swedens largest railroad company uses it for their booking system here www.sj.se .

    6. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 0

      Those Lithuania gurls are HOT!

    7. Re:one fairly large website that uses GWT by Anonymous Coward · · Score: 0

      I don't really think that being the biggest website in Lithuania is much to brag about, considering that only 11% of the population has access to broadband (http://www.irii.lt/governmentactivityreport2007).

  17. As a Software Development student by Gazzonyx · · Score: 3, Insightful

    My biggest problem is that I'm studying frameworks, JITs, libraries, languages and spinoff languages nearly constantly, and they're multiplying faster than I can even say I've given a look at them.

    Just a few weeks ago, I had an itch to scratch, so I figured I'd bang out a quick fix in my most well known language, Java (I started Java around early 1.4 days back in high school, as they were fading out C++, although I passed the AP test in C++ the last year it was given in that language). I figured I'd expand my horizons a bit and learn Java Enterprise, as I already have a really solid background in Standard Edition. After compiling a JBoss server, Ant, and getting JBoss studio (read: a day later), I decided to jump right in. Several hours later and a trip to the book store later, I realized that I needed more background info and got the hardcopy version of the Java EE Tutorial. It assumes that you know, XML, RPC, SQL, Hibernate, ODBC, etc. I've got experience with a good deal of it, and it's still a daunting task to learn just the architecture of the Java EE suite. This is before even thinking about writing a bit of code. The amount of time that you have to invest and the steepness of the learning curve is, frankly, intimidating!

    My Eclipse install is a gigabyte, ATM, I've got about 10 IDEs, 3 SQL servers, and a directory called 'programming' with a range of tools and a sub directory called 'libraries' which has SDKs that I've downloaded and intend to getting around to trying. I bought Flex2 and Expression Studio last summer and have barely had time to play with them, and both have new versions out already. Then I've the SDK for Android, Flex (looks like another month of studying the architecture just to hit the ground running), and AIR, all sitting around for me to have time to play with them, before they're obsolete. Not to mention another Java release in the wings.

    There are simply too many frameworks, languages, and methods for anyone to be well versed in more than a small number of them. And they come and go so quickly, I don't know if I should invest time in what might become the next Laszlo (looked really, really, cool - never got any traction). Google offers APIs and SDKs in what, half a dozen languages, and half of them are just interfaces to XML? What's wrong with libcurl?

    I've only got so much time, and lately everything falls in to one of three categories, "cool, and worth the time investment", "cool, but probably only for my own hacking around", and "...what the crap does it do?".

    Am I the only one with this issue? I admit, I spend a lot of time playing with Linux distros, too, so I have less time than others. Oh, yeah, and the four or five languages I'm expected to use every semester, and the three or four that I use at work on a monthly basis.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    1. Re:As a Software Development student by AKAImBatman · · Score: 4, Informative

      After compiling a JBoss server, Ant, and getting JBoss studio (read: a day later), I decided to jump right in.

      Here's a hint for you: Use Glassfish. Your life will be about 1000x easier.

      Here's another hint: No matter what anyone tells you, AVOID JAVA SERVER FACES LIKE THE PLAGUE. The API will not help you.

      Hope that helps. :-)

    2. Re:As a Software Development student by Anonymous Coward · · Score: 0

      Do you a favor, drop Java stuff and go Ruby on Rails (or whatever DOES NOT run in Eclipse) !

      Troll apart, this might just be some fresh air in syntax weight, tool freedom, empowering you to do what you want and whatever...

    3. Re:As a Software Development student by try_anything · · Score: 4, Insightful

      As a student, don't bother learning frameworks with the idea that you will use them later. There are only two good reasons to learn a framework. The first is to use it right away on a project you want to get done. The second is to get experience with frameworks in general and particular types of frameworks. It is valuable to be able to:

      • Learn a framework quickly.
      • Understand the advantages and disadvantages of frameworks, as opposed to lightweight approaches.
      • Evaluate and compare frameworks for a given task.

      Knowing a framework is, in itself, pretty useless unless you are going to use it right away or apply for one of those mythical Monster.com jobs where companies hire people to work with version 2.37a of Ridiculously Specific Technology Z. I don't know of any companies that actually hire that way unless they need a consultant to work with a legacy system whose developers have long since disappeared. In other words, you won't be hired for your experience with a specific framework until that framework is obsolete.

      Now, setting aside the proper way to study frameworks, why are you even thinking about frameworks as an "investment" at your age? You sound like you're in way too much of a hurry. If you learn one distributed N-tier application framework, one web application framework, and one rich client application framework, then you will have much more industrial-type experience than most developers ten years older than you. The downside is that industrial-type experience, while it helps you make better decisions about large-scale software development, also tends to dull your brain. If you're already focusing on frameworks in college, you're going to be burned out and useless by the time you're thirty. You'll end up quitting and starting over from scratch in a new career, just to get away from software. Unless you're just one of those precociously responsible (*cough* boring *cough* *cough*) kids who tracked his gas mileage in high school and thought the coolest thing about the Science Fair was having an excuse to wear a suit and gesture at graphs.

      In college, you should be implementing your own language, becoming a whiz at Emacs Lisp, mucking with kernel modules, starting your own web business, building natural language parsers, and doing all the other silly, vain, perfectly useless (Emacs Lisp excluded) things that end up making you into a smart, versatile programmer.

    4. Re:As a Software Development student by Llywelyn · · Score: 4, Insightful

      As a software development *student*, you should be focusing more on the concepts, on engineering problem solving, and on reasoning skills than on the specific technologies.

      As a software engineering professional, I learn the tools that I need to effectively do my job. I learn things that look interesting and applicable to whatever it is I am doing. Thus, I work with the GWT and with AJAX because I decided that's what I needed in order to tackle a problem we were having. As a senior engineer who is engaged in the hiring process, I care more about that you can think than that you happen to have seen and worked with twelve dozen technologies by the time you graduated. As a job posting I saw recently says:

      We do not hire based on a specific list of buzzwords, technologies, or popular acronyms on your resume. Today we happen to use Wasabi, JavaScript, xhtml and CSS, and C++ to build FogBugz, but Python and .NET are likely to be important in the future. We use C++ and Objective C for Copilot. We have server systems in C# and legacy code in VBScript. Tomorrow we may be using something different. Whatever technologies, languages, or development environments you've been using, we expect you have mastered them in depth, and we expect that you will be able to master any technology, language, or development environment that we need in the future.

      You can't predict it and the specific tools will change tomorrow, so as a student I would generally say that learning it--unless it is for a specific project or class of projects, or because it contains a concept or problem solving idea that you want to learn--is a waste of time. I learned R back in school because it was more efficient than using Minitab for multivariate statistics and for statistical modeling, not because it was out there and I needed to put it on my resume. On the latter point, I still think learning Prolog and LISP were extremely valuable despite that I never use them professionally and will probably never use them professionally.

      Incidentally, if you are a good engineer, the language doesn't matter. If you are a bad engineer, the language still doesn't matter. *Problem solving* counts for more in the long run than bullet points.

      --
      Integrate Keynote and LaTeX
    5. Re:As a Software Development student by Fuzuli · · Score: 1

      No, you are not alone. This is a problem that almost everyone who develops software faces somehow. It all depends on your line of work actually. If you are working on building business oriented information systems which seem to cover everything from online gambling to financial decision support, you are in trouble, for there is simply too much technology that is competing in the field. In general, you have to have a decent level of knowledge and experience about major technologies, you can not avoid java or c#. I admit that becoming an expert on any of these technologies takes quite some time, but the market usually does not let you do so. The only people who are immune to this problem are usually working in a product based company, rather than a project based one. My personal experience has shown me that a successful product is much less likely to switch technologies, and if it happens, it is usually a switch to next generation in the same technology, so it is not that hard to adopt.
      Also, guys in image processing, or embedded development on hardware is quite stable.
      When you are in a field with buzzwords being pushed to market everyday, you find yourself in a position where you have to adopt to bullshit to survive. Managers, bosses and most important of all, customers are willing to buy new stuff all the time, which means there is no excuse in their book for "this is useless technology".
      So to get rid of what you're complaining about, switch to a well defined and stable solution space. (Military sector for example)
      On the other hand, it is possible to take advantage of this, in case you are a fast learner who can learn and recognize patterns in these technologies. There is the usual pain of getting deeper in one technology occasionally, when something that pays good comes up, but till then, you keep working on all of these. This is pretty much what everyone has to do in a particular segment of the software market these days. Sometimes learning fast becomes more important than knowing something in depth, and it is a shame. My advice, to avoid drowning, pick a few major technologies, and map new ones to concepts in them when you have to. Java, C#, Python, MySql etc..

    6. Re:As a Software Development student by Fuzuli · · Score: 2, Interesting

      Sorry, just have to ask: What do you recommend instead of jsf? This comes from a guy who has to choose a java web stack for an upcoming project, that'll have to scale. No need for a flame war, just asking for a short answer here :)

    7. Re:As a Software Development student by Gazzonyx · · Score: 3, Interesting

      Perhaps I didn't say what I was trying to say ;)
      What I was trying to get at is that, I've mostly mastered the concepts, and now I want to try everything that I can. Almost everything that I do is for the challenge/thrill of it. Yet, at the same time, I desire that what I hack around with should become a tool in my toolbox. It's almost like writing code that never gets used; it just feels wrong to pour your blood, sweat and tears in to a project that never gets used.

      I guess it's in my blood, my great grandfather was an architect on the Hoover Dam and Chrysler building, my grandfather a civil engineer (apparently, he used to slam trains together in White Sands, NM. with explosives on them to see how much shock would set them off), and my uncle owns a software company. It's like I have to find the biggest, baddest problem that I can, and then I must own it! And not just own it, but own it from three angles at once. Then, I put it down and almost never pick it up again unless someone asks me how I would attack that problem. I intern for a small local company where I maintain a Linux server, an old Access database, and write some bash scripts... and play with new 'shiny objects' when I've completely my assigned work. (my boss is a Comp. Sci. geek from back in the day - I can usually get him to let me geek out with stuff since he enjoys it as well, and on occasion, it's worked out well for the company) But when I get home, I want to build something! The more elaborate, the better!

      With SDKs, it's the same thing. I'm fairly sure that between kernel hacking and the release of java.util.concurrent with Java 6, (or maybe they extended it...) I failed a course or two. To be honest, while immature, I'd probably say it was worth it for the hours of fun it provided to fully grok the Java threading model or the interrupt routing for an SMP kernel during a critical section of code. The icing on the cake was when I got to hack around more the next semester while we were covering those topics. Or being able to speak somewhat intelligently on the use of 'goto' in class after reading about it in Code Complete. Sure, the extra pay off is nice, but it's what I would have been doing regardless.

      Maybe I'm sick, but I love programming languages. Last semester I was required to do a bit of LISP and PROLOG for AI class, ADA95 for procedural languages, and took up PERL for fun. They're all really fun to hack around in (except I can't really find a great use for PROLOG), and I'm always on the lookout for a chance to break out ADA again. Take it as you will, I also enjoy using recursion. It's too elegant to not admire.

      So, for mine own part, I've found that solving problems is relatively simple, just break it down in to atomic sub-problems, start with the most trivial, and divide and conquer each layer above it; if the solution makes sense, it works. I just want a few more hammers to try out on other problems. Unfortunately, mot problems dictate the most correct hammer by the time you've broken them down to isolated cases, and usually the most boring hammer is the one you should employ. :/

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    8. Re:As a Software Development student by Kent+Recal · · Score: 2, Insightful

      Python.

    9. Re:As a Software Development student by janopdm · · Score: 1

      Frameworks capture web architecture best practises. It's not about learning the framework itself but its point of view on architecture and patterns. No Haskell hacking alone will give you that insight.

    10. Re:As a Software Development student by master_p · · Score: 1

      As a software development *student*, you should be focusing more on the concepts, on engineering problem solving, and on reasoning skills than on the specific technologies.

      Theoretically, you are correct, but when each technology has thousands of details to understand and learn, you can't focus more on concepts.

    11. Re:As a Software Development student by Anonymous Coward · · Score: 0

      No, we all have the same issue.

      My solution?
        a) quit my job
        b) eat right
        c) exercise, just a little
        d) lost 60+ lbs
        e) traveled to Asia, Central and South America
        f) Hiked all over GA, SC, NC, VA, PA the last few weeks

      Finally, my feet are tanned. Now that's a goal!
      Next goal? http://hundredpushups.com/index.html

      Don't get me wrong, working is necessary, but life is better if computers and the internet are less than 8 hours a day of your time.

      Get outside. See new parts of the world. Get a girlfriend or boyfriend. Make love. Be a "good" person however you define that.

      Oh - java is the holy grail, until someone realizes what a crock of sh*t that language is. C or ASM are it.
       

    12. Re:As a Software Development student by powro · · Score: 1

      Try JBoss RichFaces? ;-)

      Btw, I never had to compile JBoss, Ant or the likes...

    13. Re:As a Software Development student by sproketboy · · Score: 1

      JSP or Velocity or (shameless plug Jolene. Also wicket, echo, tiles, etc. etc. etc.......

    14. Re:As a Software Development student by encoderer · · Score: 1

      Let me preface by saying I started a software development shop with a couple partners about a decade ago. We've got about a dozen developers on staff now. I've probably hired 25 developers in my tenure here. I'm a software developer myself.

      There's nothing wrong with enthusiasm. It's definitely an asset.

      But there's also nothing wrong with a deep dedication.

      If you presented your recent posts in resume format, it would probably throw as big of a red-flag off in my head as a guy who mastered one single language and never branched out.

      I don't care who you are, truly mastering a modern language takes at least 6 months. A developer can be proficient in a language in 30 days, especially if he's around other developers that can answer questions. But knowing it inside and out, knowing common pitfalls and how to avoid them, knowing best-practices (and worst practices), knowing the internals of, say, the garbage collector and class loader and event dispatcher, really MASTERING it takes time.

      And writing any non-trivial application in a language is going to also take months.

      The candidate that can demonstrate that he's mastered increasingly complex languages, and used them to develop increasingly complex applications. That's the holy grail of a job candidate.

      Knowing a framework or SDK is really of little value to me. If we do use one that you've tried out, telling me that you've "given a look at it" will mean nothing to me. The frameworks that we do use, we use HARD. We stretch them and manipulate them. But chances are we won't.

      What I think you'll find in most software shops, whether they're software companies or just coroporate IT Departments is that no 2 frameworks are ever exactly alike.

      That is, once you start using a framework, you can very rarely upgrade it to the next version without breaking your existing codebase.

      For this reason, it's common for a company to branch a framework, usually privately, where they augment or supplement it to solve whatever problem they're trying to solve.

      Being a slave to the fresh SDK or framework of the day is not an appealing quality. Although I admire your thirst for knowledge, I'd wait to hire you until I could have confidence that you could work with the same language, and the same framework, and maybe even the same app for as long as it takes to get the job done.

      My advice to all young developers is exactly what I said above:

      Master increasingly complex languages. Stick with it for 6-12 months and master it. And use them to build increasingly complex applications.

      You do that, and you've proved your mettle.

      Speaking for me only.

    15. Re:As a Software Development student by pohl · · Score: 1

      The GWT project that I have under my belt (mentioned elsewhere in this discussion) was the second version of the system. The first version was done in JSF. Ditching JSF in favor of GWT was a decision that I'm so glad we made. The component model in JSF has big dreams, but it feels like it was designed by a committee who never bothered to use it to see how it feels.

      GWT, on the other hand, is raw power, and the component model is simple and elegant. If given the choice to write a custom JSF component or a custom GWT component (using their Composite pattern) I would choose the latter in a heartbeat.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    16. Re:As a Software Development student by encoderer · · Score: 1

      +1.

      No, +50.

      But, the OP is a kid. You have to pay your dues if you want a life where you have the luxury of quitting your job and still having enough $ to live on.

      Still, +50.

    17. Re:As a Software Development student by Anonymous Coward · · Score: 0

      Gazzonyx!

      I've been programming computers since 1987 - more than 20 years. In 1996 I read the Java Language Specification and Java Virtual Machine Specification. I realized that the BEST programming language has been created. Since then I use Java.

      BUT: When I saw Java EE I felt bad. I even used it once in 2002 while working in Switzerland (in Swisscom). My advice: don't touch Java EE. Use plain Java Standard Edition. If you need persistence, get Hibernate. Hibernate is very good, but use it with Java Standard Edition.

      Don't use other programming languages, except for small scripts on your website.

      Making it so, you will have ONLY ONE TECHNOLOGY which outperforms everything else. Remember: Bill Gates and Steve Balmer couldn't sleep because of Java! This is because they know Java is good. They fighted many years and finnally developed .Net+C# as a solution. We know it: mainly it is just a copy of Java (like Microsoft is used to do: making copies of ideas other people have invented).

      So: stay with only one technology (Java SE), with only one IDE (latest Eclipse) and write all your programs here.

      Making so, you will concentrate all your focus and energy in the CONTENTS of the application and not the technology. Because CONTENT is what users need, not technology!

    18. Re:As a Software Development student by durdur · · Score: 1

      JBoss Studio is not a bad piece of work and they support it. I have some reservations about Seam, but you don't have to use it. I've also used NetBeans recently and that's come a long way - the first iterations of it were awful, but it's better now.

      The problem I had with GWT is that it just doesn't seem to have the depth of functionality and community support that other frameworks have. I don't know what your beef is with JSF, but fundamentally it does much the same thing as GWT - abstracts the JavaScript layer so as a developer you don't have to deal with it (at least if you have a decent IDE). JSF frameworks and tools are getting better and it's not just one vendor behind them.

    19. Re:As a Software Development student by Anonymous Coward · · Score: 0

      this is the most thoughtful and intelligent comment on GWT i have read so far and programming in general

    20. Re:As a Software Development student by Anonymous Coward · · Score: 0

      Lay off the crack rock, buddy.

    21. Re:As a Software Development student by Anonymous Coward · · Score: 0

      And managing this is the real skill to being a professional software developer. Choose what you spend time learning carefully. And to everyone who learnt DCOM..... I'm sorry.

  18. I wrote this in GWT... by GWBasic · · Score: 4, Informative

    My experience with GWT is rapid prototyping. Overall, I like playing around with GWT. It's a great way to quickly dynamic web sites without wading through the mess that JavaScript is. Considering that I do other kinds of software on a day-to-day basis; GWT has a learning curve that's gentle enough to allow me to write powerful UIs as a weekend project.

    GWT's integration with Eclipse; especially its debugger, is a significant advantage. Its compiler is also another advantage. I tend to shy away from JavaScript because I prefer compiled environments with rich debuggers.

    I think GWT's long-term strengths could be its maintainability, although someone who is experienced with both JavaScript and GWT will be better off making such a judgment. I have not written a large, multi-developer GWT application; thus I do not know what kind of complexities arise in such an environment.

    GWT has an odd deployment system that's designed to take advantage of HTTP caching. Compiled javascript files are named based on a hashing algorithm, thus a web server can be optimized to instruct the browser to only download code when a new version is compiled. This makes storage of compiled JavaScript difficult for some deployment scenarios, because the files always change.

    I've been reading the mailing list for about a year, and in general, it tends to have a lot of novices and hard-core Java developers. There's a lot of talk about using various Java frameworks within GWT. I get the impression that, even though GWT is Java-based, using frameworks like Spring or Hibernate is like ramming a square peg down a round hole.

    Some novices don't understand that GWT doesn't run under the JRE, or assume that GWT can somehow magically make their favorite library run in the browser. GWT compiles Java into JavaScript; it does not deal with Java bytecode (except in its debugger.)

    There's also a lot of talk about using various RPC / Remoting protocols when served from a Java web server. It seems that some Java programmers like that they can keep a simple layer between code running in the browser and code on the server. I personally avoid these layers and stick with simple AJAX calls into PHP or my custom-written C# server.

    I wrote this in GWT as a learning exercise: http://andrewrondeau.com/com.Memmexx.GearPod/GearPod.html

    Now, you might think "wouldn't it be a cool idea to integrate an MP3 search engine into your demo?" I did, but it's locked behind closed doors because I don't want to get sued! (It turns out that the folks at Seeqpod got sued after I completed the version with the search engine.

    1. Re:I wrote this in GWT... by encoderer · · Score: 1

      just curious.. have you seen Songza?

      Pretty cool implementation... uses a "pie" UI style.

    2. Re:I wrote this in GWT... by Anonymous Coward · · Score: 0

      My experience with GWT is rapid prototyping.

      So you're saying that GWT is the VB of the Web 2.0 world?

    3. Re:I wrote this in GWT... by GWBasic · · Score: 1

      just curious.. have you seen Songza? Pretty cool implementation... uses a "pie" UI style.

      It's a little awkward, IMO. (Then again, so is my player!) I personally like WinAmp / Windows Media Player's drag & drop playlist; which is what's in my player that's "locked behind closed doors."

  19. Yes, it IS fundamentally flawed... by JeremyALogan · · Score: 0, Troll

    "Is it fundamentally lacking in some way?"

    Of course it is... IT'S JAVA!

  20. Framework Purgatory by rossdakin · · Score: 1

    GWT is too complex for the quick-and-dirty PHP weenies and too simple for everyone else (restricted libraries, no control over cron jobs, email config, etc.). It's like a VPS, but without all the hand-holding. (Disclaimer - this is my blunt gut feeling. Facts may be off)

    1. Re:Framework Purgatory by chill · · Score: 0, Flamebait

      (Disclaimer - this is my blunt gut feeling. Facts may be off)

      Hmmm...have you considered running for President of the United States? You seem well qualified. Tell me, how do you pronounce "nuclear"?

      --
      Learning HOW to think is more important than learning WHAT to think.
    2. Re:Framework Purgatory by dubl-u · · Score: 1

      I think you're thinking of Google App Engine rather than Google Web Toolkit.

    3. Re:Framework Purgatory by rossdakin · · Score: 1

      I know, I know... should have put more thought into that. But hey, "GWT" looks kinda like "WMD" right?

    4. Re:Framework Purgatory by cyborch · · Score: 1

      Capt. Tenille: Simpson, as you have experience in a nuclear power plant, you can serve on a submarine.
      Homer: It's pronounced 'nucular'. Nucular.

  21. IT Mill Toolkit uses it by wolfie123 · · Score: 1

    To take the "anyone" in its strictest definition, yes, someone is using it. I'm working for a company that develops an opensource UI toolkit for Java, that takes heavy use of GWT.

    OTOH, this is probably the only application outside of Google I, too, have seen using GWT.

    --
    I am convinced that I can always be convinced otherwise.
  22. General rule of thumb by SuperKendall · · Score: 0

    It fails my own general rule of thumb, which is simply that dynamic code generation is evil.

    When you fully embrace this concept, it will take you far and avoid much pain.

    There are no exceptions to this rule, other than things that give you simple templates that you then modify - but that's not really code generation so much as code thawing.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:General rule of thumb by Anonymous Coward · · Score: 0

      That's an incredibly stupid rule.

    2. Re:General rule of thumb by msuarezalvarez · · Score: 3, Funny

      You must beone of the REAL PROGRAMMERS one keeps hearing about who do not use compilers...

    3. Re:General rule of thumb by encoderer · · Score: 2, Interesting

      So you write all your software in binary?

      How is writing in Java and compiling to JavaScript any different than writing in Java and compiling to bytecode?

    4. Re:General rule of thumb by SuperKendall · · Score: 1

      So you write all your software in binary?

      How is writing in Java and compiling to JavaScript any different than writing in Java and compiling to bytecode?

      It's a matter of layers.

      The Java that is compiled to bytecode expresses pretty much exactly what I typed in a well-understood manner.

      When you write in Java for this framework, it is then interpreting your Java into a much higher level expression that assumes all kinds of things about what I want done in the Javascript.

      It's the inherent disconnect between the language I write in and the language that gets output in this system, that causes the trouble... you are writing code one step further removed from the eventual realm of execution. Every step you take away from that final realm adds to your peril. In this case you especially have potential for issues just because of the varied nature of Javascript runtimes. Java itself at least has a rigorous test suite for VM's that makes it much less trouble prone to take Java code from one system to the next (itself after all being a step removed from compiled code).

      So yes some degree of layers are safe, depending on the care that has been taken in stepping down. But generally as I said, the higher you go the worse off you are - and so as a general rule of thumb, code generation is evil.

      You have been warned.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    5. Re:General rule of thumb by pohl · · Score: 1

      dynamic code generation is evil

      GWT does not use dynamic code generation. The javascript that is emitted by GWT's java-to-javascript compiler is generated at build-time...in the same way that x86 code is generated by gcc at build time.

      Moreover, the code that is generated is not source code, which is the context in which most people use the rule of thumb that you imply. Rather, the generated code is, in essence, object code: you're not intended to read it or modify it. It's just deployed and executed, plain and simple.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    6. Re:General rule of thumb by SuperKendall · · Score: 1

      You must beone of the REAL PROGRAMMERS one keeps hearing about who do not use compilers...

      Yes, only cat. :-)

      Like I said, it's a general rule of thumb. I also said there are no exceptions but that's to keep people who do not realize compilers are an exception, safe. Otherwise everything starts to look like an acceptable exception. It is only when you understand fully that meaning that you can choose what are valid exceptions for your needs.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    7. Re:General rule of thumb by SuperKendall · · Score: 1

      Moreover, the code that is generated is not source code, which is the context in which most people use the rule of thumb that you imply. Rather, the generated code is, in essence, object code: you're not intended to read it or modify it. It's just deployed and executed, plain and simple.

      To me, it's still code generation and as I explained in other messages another step removed from the what you are writing. There is inherently a difference between what you write in Java and what Javascript can do, and I simply do not trust that disconnect to be resolved well.

      I would far rather keep the transaction between myself and any client side UI purely data driven and code for the client side specifically, rather than have a half-hearted interface extracted for me from the server side code. I have tried similar approaches over the years and found that approach rarely yields a good UI, though it can always spit out a tolerable one. Until you run into bugs in the generation framework...

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    8. Re:General rule of thumb by pohl · · Score: 1

      There is inherently a difference between what you write in Java and what Javascript can do, and I simply do not trust that disconnect to be resolved well.

      Thank you for replying. I'm curious to know if you can think of a concrete example to illustrate what you're trying to get at here.

      I would far rather keep the transaction between myself and any client side UI purely data driven and code for the client side specifically, rather than have a half-hearted interface extracted for me from the server side code.

      I'm also having difficulty mapping what you've written here with some aspect of GWT or how it is used. Although I agree that what you describe sounds frustrating and undesirable, I'm not getting how it relates.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    9. Re:General rule of thumb by SuperKendall · · Score: 1

      Thank you for replying. I'm curious to know if you can think of a concrete example to illustrate what you're trying to get at here.

      Sure, one thing I can think of is related to a DND (drag and drop) example.

      It's abstracted away the actual Javascript involved in handling things, and furthermore moving the expressions for processing events to Java. I am uncomfortable with the limitations imposed by having to handle events by writing Java when Javascript would be able to more naturally handle events. It looks like it lacks flexibility that a Javascript framework would offer through language features.

      In general there's the whole totally parallel library path feel to using the GWT, where it looks like Java but really ends up as Javascript and can get confusing in terms of mixing similar GWT constructs with Java code. I don't like it for the same reason I never liked JSP pages, where you intermingle code and HTML. It's too easy for a developer to get confused and do something odd.

      Sorry I can't give you a better example, but it's the get feeling I get about the whole thing when I look through how it works.

      In terms of the data driven thing, I would far rather have a system that is talking back and forth between a pure Javascript UI layer and a server via web calls, or something that generates static data files that pure HTML/Javascript/CSS would then access.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    10. Re:General rule of thumb by pohl · · Score: 1

      Sorry I can't give you a better example, but it's the get feeling I get about the whole thing when I look through how it works.

      This actually makes a lot of sense. If you actually went and read the GWT source code -- and saw their extensive use of the JSNI interface (where java and javascript code reside in the same file), you might be left with the impression that this is how the source of your application needs to look. If that's what happened, then I can certainly understand your distaste for it. The good news, though, is that they make extensive use of JSNI at the lowest levels so that you don't have to. If you need to, you can, but that only happens in extreme circumstances.

      I actually got to implement DnD in the GWT application that we wrote. We even looked at the gwt-dnd library (used in the example you linked to), decided that it was overengineered, and decided to hand-roll the DnD code that we needed for our specific app. (Our app is sort-of iTunes-like, where you can multi-select rows in a data table and drag the items over to a folder or playlist). Handling those events was very simple: one call to sinkEvents() to say what sort of events you're interested in, then in the body of onBrowserEvent() you have a switch statement that has a case for each event type you might get. The event types are exactly the same ones that come from the browser. They didn't invent new ones or try to map them to AWT/Swing events or any such nonsense. onMouseDown, onMouseMove, onMouseUp, ... The language constructs I used for handling the drag protocol were two interfaces (DropTarget & DragSource), a DragController class, and an abstract DropController class -- of which I had a concrete but anonymous implementation in each of the two widgets that received drops. Oh, and a DragProxy view that moves along with the mouse. It was pretty easy, in retrospect.

      When I write in GWT, I never agonize about what the underlying Javascript looks like. It's very much like writing in C, where you think only in terms of the semantics of the source language -- and rarely need to think of assembly language constructs like load, store, add, and compare.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    11. Re:General rule of thumb by SuperKendall · · Score: 1

      When I write in GWT, I never agonize about what the underlying Javascript looks like.

      But I think that too is at the core of things, as another poster noted a ton of Javascript is generated and I don't feel like the output is really Javascript friendly in the way other things are or can be.

      It's interesting to hear of your experience and I may look into it some more, but the next time server code and myself meet it's probably going to be Grails (Groovy on rails) and one of the more robust Javascript frameworks for the client side.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    12. Re:General rule of thumb by pohl · · Score: 1

      Please forgive me for continuing this thread for the benefit of anyone interested in GWT. This is the perfect opportunity to illustrate how deep the analogy between javascript and machine language is, since your concerns are exactly the sort of situations that a foreign function interface is designed to address: how do I call out to code in another language, or worse what if code in this other language needs to call back into my code?

      We did run into a case where we needed this facility. We had to use a java applet to handle bulk uploads of extremely large files. This applet had a plain javascript API for callbacks into javascript, and we were able to expose methods in our java source code to receive these events (when the upload was completed, failed, or cancelled) and it was pretty easy to do.

      The JSNI mechanism counts as one of the coolest hacks I've seen, as it lightly abuses the "native" keyword in java, which causes javac to ignore the method body when it compiles, leaving the GWT designers free to allow you to embed arbitrary javascript in the method body. In our case, it was just a few lines, but it was easy and damned powerful.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  23. Because web developers don't know Java by globexdesigns · · Score: 2, Interesting

    Because most web developers don't know Java. They know XHTML, CSS and Javascript. Some know PHP. Most sure as hell don't understand how Java can be used to make a site and don't want to bother learning a whole new "language" (as it seems) to build one. So they dely on jQuery and Dojo which is pure Javascript that they understand.

    1. Re:Because web developers don't know Java by IntlHarvester · · Score: 1

      Realize the term "web developer" applies to two distinct group of people. Either front-end coders who are HTML/CSS experts or backend programmers who know Java, C#, etc but generally have very minimal understanding of the browser front-end.

      --
      Business. Numbers. Money. People. Computer World.
  24. because the idea makes us kinda wince? by Punto · · Score: 1

    If I remember correctly, this is the one where you write java and then it gets compiled into the javascript that runs in the browser, right? I'll admit that I'm biased against java, but still, even is this was my favourite language, the idea of generating javascript offline and then running it on the browser just sounds too complicated. I'd never feel like I could trust the generator.

    I'm not saying it'll never work, just that I think this is why nobody is rushing to adopt it (I do think it's completely unnecesary, and it'd be kinda sad if this was what needed to be done to have a usable ajax framework; but that's just my uninformed opinion)

    If this was a runtime thing, where you're running a virtual machine for some other language on top of javascript, I'd try it just because it sounds cool tho.

    --

    --
    Stay tuned for some shock and awe coming right up after this messages!

    1. Re:because the idea makes us kinda wince? by pohl · · Score: 1

      The adoption rate of GWT is actually much greater than misleading question by the article's submitter. The reason that you don't see GWT on random websites has nothing to do with the fear of compiling to javascript. Rather, it's because GWT shines the brightest for sophisticated web applications that you never see because they're hidden behind intranets, or in some niche market that you don't encounter.

      I've used it; it's awesome. When I started, I didn't know if I could trust the compiler either â" but that trust came quickly. Javascript is just x86 machine code to me now, and I love it that way.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  25. Not being used?? by iwein · · Score: 4, Interesting

    I've been on a project using GWT in 2007, been quite successful. If you want to see an example that is public run over to Parlays.com, they have a Flex and a GWT version.

    If you want to write clean code check out my blog on TDD with GWT: http://is.gd/1156.

    With the 1.5 release they did some very promising improvements.

    So you're right if you say it is not mainstream, but to say nobody is using it is exaggerating. Just be patient, GWT will continue to grow.

    --
    Show a man some news, distract him for an hour. Show a man some mod points, distract him for the rest of his life.
  26. Poor knowledge base and tool support by subnomine · · Score: 1

    Becoming frustrated with basic and lacking on-line information, I had to peruse books to find better examples and explanations. I found only one GWT book at a Barnes & Noble. But Borders had several.
    Also, I've heard that Eclipse isn't up to snuff with the GWT stuff. But as a `vi` guy, I'll keep my rat's ass and not give it.

    1. Re:Poor knowledge base and tool support by CrystalX · · Score: 1

      GWT and Eclipse actually work very well together.

      I agree that the online documentation and examples for GWT are rather lacking, but there are some good books on GWT. My favorite is "Google Web Toolkit Applications" by Ryan Dewsbury. (Ryan is the same person who made the games mentioned in the original posting.)

      http://www.amazon.com/Google-Toolkit-Applications-Ryan-Dewsbury/dp/0321501969/ref=wl_it_dp?ie=UTF8&coliid=IBGT0TU3E4AB2&colid=1C5O2JP17MKXW

    2. Re:Poor knowledge base and tool support by subnomine · · Score: 1

      Yes...That is the book I had gleaned some information from at Borders! It looked like the best.

  27. HectaresBC by Anonymous Coward · · Score: 0

    The best i've seen is HectaresBC (http://www.hectaresbc.org/app/habc/HaBC.html).

    It's an awesome way to query spatial data in a canadian state.

    1. Re:HectaresBC by Anonymous Coward · · Score: 0
      When I read...

      It's an awesome way to query spatial data in a canadian state.

      it comes out as

      It's an awesome way to get AIDs and die in a gutter.

      Some things you just don't want to do, ah?

  28. How do you get more tech-savvy by Nicolas+MONNET · · Score: 1

    ... than browsing with elinks? ... or with noscript?

  29. GWT has been given a Whirl by Kvack · · Score: 1

    http://www.whirled.com/ The non-flash components of Three Rings Design's new social networking/game portal site Whirled have been built using GWT.

  30. Looking at it soon by bigtangringo · · Score: 1

    We're going to be looking at it soon for an Intranet project, specifically ExtJS GWT. We'll see how it goes.

    --
    Yes, I am a smart ass; it's better than the alternative.
    1. Re:Looking at it soon by foniksonik · · Score: 1

      I too an looking the ExtJS GWT component for a application... though I'm also considering just using ExtJS + DWR (Direct Web Remoting) which from what I've seen is a more mature AJAX transport module for JAVA and provides both push and pull AJAX (reverse-AJAX or Comet like capabilities)

      I like the ability to manage the project in Eclipse with the GWT component but worry that it may add too much overhead and make customizing the look and feel harder than it needs to be.

      The app will talk to Spring MVC on the server either directly with GWT or via DWR with just EXT... then either get results from another server app via the Spring containers or from a Hibernate DB layer.. if the results have already been cached in the DB... with a RESTful API.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    2. Re:Looking at it soon by bigtangringo · · Score: 1

      I've already got a pretty good setup rolled with MochiKit/DWR/Spring/JPA. The biggest selling point for GWT, to me, is the ability to debug in my IDE.

      Firebug kills my browser.

      --
      Yes, I am a smart ass; it's better than the alternative.
    3. Re:Looking at it soon by foniksonik · · Score: 1

      Why did you pick JPA over Hibernate?

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    4. Re:Looking at it soon by bigtangringo · · Score: 1

      If you're talking about Hibernate own configuration vs EJB3.0 (JPA) I chose JPA because it's a standard. There's certainly something to be said for that.

      I use Glassfish's built-in JPA over Hibernate because it built-in, and works fine for my needs.

      --
      Yes, I am a smart ass; it's better than the alternative.
  31. Mosso by WildsideTX · · Score: 1

    Mosso (http://www.mosso.com/) wrote the control panel for their cloud computing system using GWT and ExtJS.

    1. Re:Mosso by ckeck · · Score: 1

      Yes, the entire administrative control panel for Mosso was built using the GWT. www.mosso.com New control panel: beta.mosso.com

  32. We are by Arnold_DeVos · · Score: 5, Interesting

    We have used it for a fairly big internal application for one of our clients. Given we wanted ajax rather than a typical rich client, the main advantage of GWT was that we could program in the same language end-to-end.

    We managed to avoid a lot of boilerplate code by using the same data class definitions (POJO's) in the server and client. So an object might be created by hibernate from a database record, copied to the client, displayed and edited, copied back to the server, manipulated there and finally updated in the database via hibernate.

    The main omission in GWT is a good framework for binding data to UI elements. Because there is no introspection available in the GWT client environment, it is hard to do this in a generic way. We solved the basic problem by generating class and property descriptors during the usual hibernate code generation step. We then created a UI-POJO binding framework that picks up and uses these descriptors. Again avoiding a lot of boilerplate.

    Our code for all this is here: http://code.google.com/p/gwt-hibernate/

    I'd say GWT worked out pretty well.

    1. Re:We are by kdart · · Score: 1

      Can you contribute those framework extensions back to the GWT project?

      --

      --
      The early bird catches the worm. The worm that sleeps late lives to see another day.
    2. Re:We are by Arnold_DeVos · · Score: 1

      We would have no problem doing that.

  33. FapFapFapFap by Anonymous Coward · · Score: 0

    Theres some happy fapping to be had there, thx mate!

  34. redhat.com by Anonymous Coward · · Score: 0

    Redhat.com uses it for the store part of the site. Many other "of the shelf" type apps use it, probably not so much web 2.0 apps.

    Slashdot

  35. HTML5 by fretlessjazz · · Score: 1

    See subject.

  36. My desktop has an up to date browser. My phone? by Anonymous Coward · · Score: 1, Informative

    It's not the desktops that lack of javascript leaves out, it's the non-desktop web browser. Like my phone.

    So thank you for caring about no-javascript fallbacks.

  37. Performance vs. Productivity by CrystalX · · Score: 1

    GWT was originally marketed to web developers as a way to make developing web applications easier, since the underlying language is Java, which has better tool support (especially for debugging) when compared to plain old JavaScript.

    A number of web developers interpreted this marketing spin to mean "convenient to program in but slow". This is not, however, the case. The GWT team has consistently favored the user experience (which includes performance as a large component) over developer convenience when the two goals were at odds. In general, the JavaScript generated by the GWT compiler is as efficient (and sometimes faster) than the code I write by hand.

    So, in summary, I suspect GWT hasn't seen wider adoption by web developers because they think that it does not generate performant code.

  38. So, where's the question? by DerekLyons · · Score: 4, Insightful

    You start with the assumption it should be widespread, and are disappointed because it is not. Which leads to the question, what leads you to that assumption?

  39. We used it by Get_Plover · · Score: 1

    to develop this site ( and others ):
    http://www.gochongo.com/

    One big problem with using the GWT ( at this point in time ) to develop something like a media site is the failure to index.
    One can be blacklisted in the search indices for presenting a site to a robot which fails to render properly. As 100% javacript sites always do.

    At this point in time the GWT seems well suited for display of data and rapid prototyping and uses that have people coming to your site through means other than search engines. Or use it sparingly to augment your normal, indexable site.

    I would be a complete fan if robots could deal with it, I really enjoy using it and can quickly make it do whatever I want and expect the output to render pretty much identically on all major browsers and be quite compact.

    1. Re:We used it by DjDanny · · Score: 1

      Crikey, that's awful. The whole browser freezes up for 5-10 seconds while the site is built up in Javascript. There's another reason for not using it.

  40. gwt? by Anonymous Coward · · Score: 0

    I forgot about it till just now. i know some girls who feel pretty used in the same circumstance...

  41. XWiki's WYSIWYG Editor by Anonymous Coward · · Score: 0

    I believe XWiki's WYSIWYG page editor is being rewritten using GWT.

  42. ChainBuilder by c-reus · · Score: 1

    Bostech Corp's ChainBuilder uses GWT in it's administrative console

  43. Obligatory plugs of my own apps by SashaM · · Score: 3, Interesting
    I've written quite a few GWT apps in the last year and a half. Here are two that I can show:
  44. search for it? by speedtux · · Score: 1

    Here's my suggestion: look for a simple string that occurs in GWT pages but in few other places, then Google for it. That should answer your question.

  45. Intranet GWT WebApp, for System on Chip Dev by larry_larry · · Score: 1

    Just because there's not many GWT WebApps on the public Internet doesn't mean companies aren't using GWT behind corporate firewalls. The GWT forum is very active and there are postings from various big name companies there.

    SpectaReg.com appears to use the GWT and was born from an intranet WebApp (i.e. runs on corporate networks). This enables System on Chip developers (like digital logic designers and embedded software engineers) to reduce costs and improve quality by automating addressable register interfaces. It's a pretty slick WebApp for generating code and documentation from single-source design specifications.

  46. irony by Spy+Handler · · Score: 1

    "To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me."

    So if you use the tool Google recommends to create your website, Google won't index it properly and you will fall off Google rankings?!?

  47. Go standards by oku · · Score: 1

    The problem with GWT is that it mixes so badly with other web toolkits. And it is not standardized, being neither fully Java nor JavaScript at all.

    If you want to work in a class-oriented fashion for web development, you should probably go the way of JavaScript 2 as implemented by Jangaroo or Mascara. While JavaScript 2 is not finalized yet, we have a good idea of how it must be like from looking at ActionScript 3.

  48. too few know GWT for "multi" developer projects by Anonymous Coward · · Score: 1, Insightful

    I used it back in Oct 2007 to develop an internal CDN monitor and control tool. It is used internally, and that project was used to see how well it worked.

    Since then GWT 1.5 can come out, and it seems even better now. The reason it isn't used externally yet at my place it the "external" projects involve several developers, and they are too tied to the old ways (raw Java-script) to try something new.
    (I honestly think part of it is, java-script is a maintenance nightmare, and thus "job security" for those people.)

    I fully expect GWT to be used more, but it is being held back from "large" projects because not enough developers know it yet.

  49. irt.org uses GWT for the toolbar by Anonymous Coward · · Score: 0

    In a corporate environment you'll never get much traction for GWT.

    Design agenicies deliver static HTML for their wireframes (with some Web 2.0 libraries sprinkled in). They have to else they'll be building the solution with GWT.

  50. Evernote Web Interface by infestedsenses · · Score: 1

    Evernote has a pretty slick web interface that is built with the Google Web Toolkit. I was positively surprised by its snappiness. Finding out it was GWT was sort of an "ah, but of course" experience.

  51. Re:fr0sty piss by hostyle · · Score: 5, Interesting

    Apart from a few niche Web 2.0 sites, most websites are still built using tried and tested backend tech, and laid out using HTML, CSS and some graphics. GWT is pretty much doing everything using Javascript and a little bit on the server side serving xml/json. Not everyone needs AJAX. Most sites need to be able to work without it (for accessibility, backwards cinpatibility and non-javascript visitors), so unless its capable of adding really useful features (cases of which are few and far between) AJAX and GWT are just not necessary. Its nice if you can have it, but its a luxury you don't actually require for a usable website / web application.

    --
    Caesar si viveret, ad remum dareris.
  52. Re:fr0sty piss by hostyle · · Score: 1, Funny

    Er. Thats not the comment I meant to reply to ...

    --
    Caesar si viveret, ad remum dareris.
  53. GWT is just one of many Ajax toolkits by twasserman · · Score: 4, Informative
    Ajax Patterns [http://ajaxpatterns.org/wiki/index.php?title=AJAXFrameworks] and eDevil [http://edevil.wordpress.com/2005/11/14/javascript-libraries-roundup/] compiled a list of more than 100 Ajax toolkits, covering a wide variety of underlying language technologies. While many of these get very little use, there are at least six [Yahoo UIL, Tibco (General Interface), Google GWT, OpenLaszlo, Microsoft .Net, and Dojo (or the commercial WaveMaker based on Dojo)] with a significant developer base.

    When people are looking for an Ajax toolkit, the Google name often gets it onto the selection "short list", but that doesn't automatically assure that it will be the final choice. Many corporate IT organizations insist upon commercial support for any software that goes into their business-critical applications. Of course, Google does not provide such support. In those situations, GTK will be ruled out for business reasons, independent of its technical merits. The net result is that there are numerous sites built on GTK, but the large variety of choices means that no single framework or toolkit has yet emerged as a favorite.

    1. Re:GWT is just one of many Ajax toolkits by illtud · · Score: 1

      Of course, Google does not provide such support. In those situations, GTK will be ruled out for business reasons, independent of its technical merits. The net result is that there are numerous sites built on GTK,

      In case anybody else is confused - you mean GWT, right?

    2. Re:GWT is just one of many Ajax toolkits by twasserman · · Score: 1

      Yes, posted late at night. Not fully tracking at that hour. Of course, it should be GWT. My bad. Sorry for the error.

  54. We are too by Zardul · · Score: 1

    We've been using it for about 18 months now to power our widget designer. One of the main advantages for me is the debugger, it's eclipse and you can just step through you client side code exactly like your server side code.
    One of my colleagues wrote a review a while ago http://devblog.glowday.com/2007/05/tech-review-google-web-toolkit.html

  55. traceurl.com on GWT by kilkenny · · Score: 1

    I have a site developed using GWT up and running since almost two years. I have gone all the way from 1.2 => 1.3 => 1.4... Migrating between versions has not been flawless, but was less a pain than expected. Iâ(TM)m very happy with GWT, I would choose it again and fully recommend it for web development.

    Check out: http://traceurl.com

  56. I used it by Fuzuli · · Score: 4, Interesting

    Because I needed a website with a high level of interaction. The client asked for enabling disabling of various things on a widget, some bells and whistles,but nothing fancy. In the beginning I wrote the code for this using javascript, hand coded the whole thing. But change requests, and much more important than that, browser compatibility problems cost me a lot of time. GWT fixed this aspect. Mostly compatible with all major browsers, and being much more experienced in Java than in js, I became more productive.
    However, I should have limited my implementation to a single widget, and that was my mistake when using GWT. Use a plain jsp page, attach the widget to a div, and be done with it. Instead I've built the whole thing on GWT, and later fell in a position where I can not easily add very simple stuff. The usual GWT app is one single js chunk, which navigates to different pages by hiding and showing things on a page. This requires a little getting used to, and I've implemented more flexible things like pulling html via remote calls etc. But in general, mixing GWT with a more server side oriented technology (asp.net, jsp, jsf etc...) looks like a better approach now. But when you have to build a slightly complex interface where there are trees, enabled disable compoenents, users adding, removing things to a list etc, GWT serves well. I guess the secret is in the balance, just use it at the necessary level, no more. I could have used Flash, but that'd be a total pain for multiple reasons. (a lot of reasons actually)

    1. Re:I used it by Arnold_DeVos · · Score: 1

      Your suggestion to attach widgets to divs in page agrees with out experience. We use a static HTML page as a framework and hang the various active bits on it. No need for jsp since all dynamic content is handled by the GWT parts.

      We also prefer to spread the application over a family of pages so it behaves more like a normal web site.

      The secret to working this way is a good URL design - as in any good web app. To keep everything stateless and generally RESTful your in-page code must inspect the URL to get its context.

  57. Progressive Enhancement by R_Dorothy · · Score: 5, Insightful

    http://en.wikipedia.org/wiki/Progressive_Enhancement

    When building sites I start with the plain HTML, make it usable, and then use statically linked JavaScript to start rewriting the page with the bells and whistles when the page loads. That way, if JS is not enabled the reader doesn't get the 'enhancements' but the core functionality is still there.

    --
    Stupid flounders!
    1. Re:Progressive Enhancement by Stooshie · · Score: 1

      No mod points just now, but "+1 sensible", which on slashdot is as rare as a rare flea living in the fur of a rare mammal that lives in a rare species of tree in a rare ...

      You get the drift

      --
      America, Home of the Brave. ... .and the Squaw.
    2. Re:Progressive Enhancement by mcfedr · · Score: 1

      ok, but but im thinking the question is more about web apps, i dont quite see how your gonna build an app such as google docs as plain html... even this very slashdot page uses much javascript to make it a much more usable experience, since it has been updated with javascript slashdot is much nicer to use, i no longer have to click lots and wait for whole pages to load to read all the comments...

    3. Re:Progressive Enhancement by jsebrech · · Score: 1

      I really like the concept of progressive enhancement. The problem with it is that as you scale up in complexity and scale down to embedded devices, it's just not realistic.

      For a moderately complex web application, building a single front-end that scales down to mobile devices and scales up to 1920x1280 with all the ajaxy goodness is impossible in any reasonable timeframe without compromising for one of the situations, or both.

      For me the best solution remains the gmail approach: build multiple frontends on a shared backend, each catering to a specific target market. Gmail has an ajax front-end, a basic html front-end, and a small-screen / mobile front-end. All of these work exceptionally well, better than they would had they been rolled into one gui.

  58. GWT is useful when combined with Javascript by Anonymous Coward · · Score: 0

    At my previous company I developed my own web framework for an AJAX app. At my current company, I used GWT instead and got many more features at far less cost, plus someone else is maintaining it. Adding new user interface elements in Java by extending GWT classes has been great for development.

    That having been said, one of the biggest roles we use GWT for is to create the frame around a user-customizable user interface written almost entirely in pure Javascript. GWT handles the chrome, the RPC calls, and some other features, but what makes it work is that we can easily combine Javascript with GWT as we need to.

  59. Lack of MVC by psycho+mac · · Score: 1

    I use GWT heavily, but find the lack of models for the GUI elements the biggest problem, and the poor event model the next biggest. It's a bit like SWT in relation to Swing - it's easy to get something hacked out but eventually implementing new functionality becomes harder & harder. We've solved this by 'porting' the Swing APIs over to GWT. I built a TreeModel that allows for add/remove of TreeNodes and that fires TreeModelEvents. We wrap the GWT Tree (in a Composite) and register it as a TreeModelListener. Now we do all our work on the TreeModel, and let the GUI update itself. We've done the same port on the JTable/TableModel wrapping the GWT Grid. This takes GUI development one abstraction higher, making in conceptually harder, but long-term much easier. Google would be well advised to understand Swing and take GWT one abstraction-level higher.

  60. GWT is more evolved, solving multiple problems by davidroe · · Score: 2, Interesting

    As has been previously stated, there are multiple solutions to an ever-changing problem - rich internet applications inside the browser - but I think Google have come up with a clever solution in GWT, not just as a front-end UI framework but also in terms of a solution to scalability, maintainability and deployment.

    To make anything work in a real environment, a GWT front-end is going to have to talk to a back-end somewhere. If Java really is your thing, you get RPC talking to Tomcat out of the box, or in my case I chose a REST solution. As a tool to complement your other frameworks, GWT never gets in your way, allows you to work at the DOM level where necessary, and fits in well alongside other 3rd party solutions.

    Mozilla have their solution with XUL although you are stuck inside Gecko, and who knows what is going on with Microsoft and XAML, and of course there is Flash with its install base. However, with GWT, Google are producing cross-browser compatible output across all major browsers and they picked Java to do that. Using an established language does have benefits (existing frameworks/expertise/unit testing/debugging) but it is how they use that language that makes it clever.

    http://riflethru.com/ is an interface for searching eBay that I developed using GWT, as is the iPhone version. When first picking up the toolkit, the article I had read stated "they have taken HTML, Javascript and CSS and turned it into byte-code", and upon further inspection, it turned out to be true. In my experience, GWT is versatile, capable and on the march.

    The web is reaching everywhere so a solid HTML solution like theirs sits well in different environments and devices, but Java is certainly not for everyone. My guess is that this has little to do with the limited adoption, of which GWT does not appear to be suffering as a result. In addition, the publicity from Google I/O will fuel the fire, no doubt, and I see the YouTube figures on their presentations are numbering in the 1000's, although I had to watch Deferred Binding 3 times myself.

  61. It's all about the tools by kayman · · Score: 1

    We're using it for this site: http://www.liveleader.com/. See the live demo if you want to have a look at an app built from scratch in GWT.

    To me, the single biggest advantage of GWT is that I can use Java tools for development, refactoring and debugging. As a Java developer with limited JavaScript skills, that's a very big plus. And using Java all the way means that I can share code (and pass objects) between the client and the server.

    The generated JavaScript is not very search engine friendly, but GWT apps can be popped into a regular HTML page. You should probably be using GWT for app-like stuff, not things you want Google to pick up.

  62. GWT is a good concept by tangent3 · · Score: 4, Interesting

    Theoretically...

    Number of Java developers > Number of Flash developers > Number of Silverlight developers
    Number of Javascript capable browsers > Number of Flash enabled browsers > Number of Silverlight enabled browsers.

    Which is a good idea, since Google has created a framework in a language that most developers are familiar with, for a platform that just about all web browsers support out of the box.

    However...

    Number of PHP hosting sites > Number of ASP hosting sites > Number of Ruby hosting sites > Number of Tomcat hosting sites

    Which is probably one of the reasons why it's not doing so well.
    GWT-RPC is excellent. It allows me to use the same data objects on client and server, and debug both from the same IDE. But it requires a Tomcat server.

    Now if GWT is able to compile the server portion to easily deployable PHP code, this could lead to somewhere interesting.

  63. Aaaah , arguing web coders... by Viol8 · · Score: 1

    Its like watching a war in Lilliput. Meanwhile proper coders get on and write the serious back end stuff where you have to worry about query optimisations , memory usage, threading models etc. Not whether some fluffy widget is implemented using javascrap, ruby off the rails or some other mickey mouse sand boxed GUI enviroment.

  64. Example(s) of large GWT applications by pdeschutter · · Score: 1

    ContactOffice is a collaborative and messaging platform offered in Software as a Service. ContactOffice's has recently rewritten its entire UI using Google Web Toolkit. In order to do so they had to add numerous features to GWT (drag and drop, marquee selection, contextual menus, sortable columns, resizable panels). It is according to Google engineers one of the largest and most advanced web application built using their framework. Joel Webber the co-founder of GWT endorsed the work done at CO at: http://blog.contactoffice.com/index.php/2008/01/03/nice-endorsement-for-contactoffice-by-gwt-team/. The CTO Luc Claes was invited by Google to present the work done at the last JAVAONE conference. You can also find some other GWT applications on the following site: http://www.ongwt.com/category/GWT-Application

    1. Re:Example(s) of large GWT applications by Brice21 · · Score: 1

      Great web application suite !!

      --
      Brice Le Blevennec, Digerati
  65. Have you tried writing javascript? by coder111 · · Score: 3, Insightful

    Getting complex client side JS working well on different browsers is difficult. If GWT Java => JS compiler can take care of that automatically, it will save TONS of effort.

    --Coder

    1. Re:Have you tried writing javascript? by darkvad0r · · Score: 2

      If GWT Java => JS compiler can take care of that automatically, it will save TONS of effort. --Coder

      It can, plus it can handle internationalization, history support (back and forwards navigation) and a ton of other useful stuff. But ultimately the killer feature is the ability to debug GWT code in your java IDE of choice.

  66. YUI by Dan+East · · Score: 1

    Considering YUI is an actual javascript library (unlike GWT), is anyone using it? I've used a couple components of the library for a client, and have been pleased with the result.

    --
    Better known as 318230.
    1. Re:YUI by rufus+t+firefly · · Score: 1

      You could always just GWT with toolkits like that ...

      The point of GWT isn't that you can create pretty applications, but rather that you can create large web apps with all of the benefits you get from writing your code in Java. The OO and code reusability stuff makes it much less painful, and GWT does more or less remove you from the business of troubleshooting browser incompatibilities.

      I find it interesting that you say YUI is an "actual javascript library" without using that term as a pejorative. An optimizing compiler/translator beats a js library in speed and efficiency hands down, since most of the kruft is removed during the compile stage.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  67. Mod Parent Informative by Morosoph · · Score: 1

    Whoever modded it troll should get their geek licence revoked.

    1. Re:Mod Parent Informative by Thalagyrt · · Score: 1

      Web 2.0

      ^W: Web 2.
      ^W: Web 2
      ^W: Web
      ^W:

      He did it right.

      --
      Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo!
    2. Re:Mod Parent Informative by nostriluu · · Score: 1

      Assuming you'd typed the spacer after 2.0., [esc]dFW would be faster, but you'd have to press a afterward. OK, it's just NERDier.

  68. [Marshall] by Anonymous Coward · · Score: 0

    I did not see many people in the thread giving some alternatives to GWT, well here it goes then:

    This has its client written in java and lots of features:
    http://echo.nextapp.com/site/

    This one is pretty popular too:
    http://www.zkoss.org/

    GWT is a good framework, but not the best and that is why people are not using it too much... IMO.

    1. Re:[Marshall] by Anonymous Coward · · Score: 0

      Add this one to the list.. Combines strong pros of echo and gwt:
      http://itmill.com/

  69. it is nice but has serious flaws by rizsi · · Score: 1
    I have used it for developing an intranet project. For a single (kind of) browser and limited number of users. I liked it much because I hate the quirks of JavaScript.
    It was about a year before and I did not check the new versions.
    The flaws I would mention:
    • In case of browser incompatibility it would be hard to hack so I would not use it for public web page.
    • The Java to compiler was too slow so code-try-code again cycles were slow
    • The Java _like_ Language and system libraries were _very_ restricted.
    • Finding and including good libraries was not easy. I could not find good collections library for example.
    • Witout Java serialization and reflection real easy remoting to a Java web server is not possible. So you have to build and parse xml by hand. I really missed a good remoting framework based on interfaces and no hand coding.
  70. Inventory application by ishmalius · · Score: 1

    I made an inventory application with GWT. It is a simple catalog/SKU/invoice application for small businesses. However, I moved away from GWT for a couple of reasons. Their default serialization/rpc scheme did not work well with Hibernate (which has since been partly fixed), and drag and drop didn't make it into the standard toolkit for a very long time.

  71. Sweet! by Gazzonyx · · Score: 1

    Just wanted to say that I read your non-hesitant reply to kdart about contributing back, and I'm really thankful that communities have people/companies that give back selflessly. Without everyone participating, the whole thing breaks down to some degree. Kudos.

    --

    If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    1. Re:Sweet! by Arnold_DeVos · · Score: 1

      It is a paradox, but open sourcing software is all upside for many corporations - if they realise it. An internal project can benefit by sharing and has little to lose by it.

      Planned, collaborative development is another case. Development of this open source project of mine: http://cimtool.org/ is funded by its users. The income is limited to development fees which is OK for a project that would never fly in any other model.

      I would go as far to that the majority of software in this world would not be a viable product under a fee-for-closed-source-license model.

  72. a wiki system by GWT by steveneo · · Score: 1

    I know a large application by GWT and Google Gears. see http://wibokr.com/ a pretty good wiki system.

  73. GWT / Spring / Hibernate / Maven2 by lochranza · · Score: 1

    Agree with this. We're also building alot of internal web apps for corporate clients - it takes a little bit of effort but GWT can sit on top of existing Spring Services and take advantage of lots of deployed SOA, making the case for GWT very easy to make.

    We also open sourced our code on google code, everything available here to have GWT/Spring/Hibernate/Maven2 up and running very quickly.

    http://code.google.com/p/shine-reference/

  74. Coupling by Giant+Electronic+Bra · · Score: 1

    In a word the strength of the web is the LACK of coupling between client and server tier. Tools like GWT cut against that. I don't WANT to have to particulars of the server side implementation all over the place on my client side.

    I probably have different teams working on each portion of my web application. Why should I wish to have such tight coupling between them?

    Furthermore in my 25 years of software development I've developed a real healthy contempt for automatic code generators. Nothing is more of a PITA than having to try to arm twist some code generator when it generates buggy code that doesn't do exactly what I want. It very quickly becomes more of a liability to the project than an advantage.

    No, I would rather be able to develop client side logic built to the specification of the interface with the server side. Now, I'd be a lot more enthusiastic about having a GOOD GUI development tool for javascript/css/html/xml and a client side stub generator that simply wraps the SPECIFICATION of the interface between the client and the server.

    Furthermore a GWT like system has all sorts of other architectural assumptions built into it that are likely to restrict the design of my system in various ways. Good tools ALLOW appropriate design, they don't railroad you into doing things a certain way. So, no, I am not particularly a fan of this approach and I doubt I will become one in the near future.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Coupling by pohl · · Score: 1

      Hmm...GWT is a compiler, not a code generator. ("Code generator", to me, implies that you're intended to read or modify, the output â" or send it through yet another compilation phase. None of those is true for the output of GWT's compiler.) Does your contempt extend your contempt to every other compiler in the universe: gcc, javac,...?

      Also, I'm not sure I understand what "coupling" you believe exists between a GWT front-end and your back-end. You don't need to use java on the back-end at all. Lots of people use ordinary JSON services written in languages like python or ruby just fine.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    2. Re:Coupling by Giant+Electronic+Bra · · Score: 1

      No, it is a code generator. It is generating javascript. Ergo it is a code generator, and that javascript may well not meet my needs. Furthermore I've lost the ability to simply use whichever javascript components I might feel like using, or I have to design components specifically using GWT, and then I am going to be propelled into the bowels of the details of exactly HOW it does that, on and on.

      As for the 2nd part, I may not WANT to do things the way GWT does them. Maybe JSON isn't where I need to be at. What if I want to consume a SOAP service? No, you gotta do JSON because that is the way it is...

      Even if we simply accept your 'compiler' argument and chalk it up to semantics there is a HUGE difference between gcc or javac and what GWT is doing. At that maybe you recall the endless debates, arguments, and etc surrounding c and c++ binary ABI standards of years past? Given the shifting sands of browser compatibility that one was pretty much a cakewalk.

      UI and backend should be decoupled. Developers of one should not need to be impacted or deal with the details of the other. If the application is properly architected and well documented then there should be few issues. The front end guys can do their front end thing with the tools they favor and the same for the backend, and the twain shall meet over HTTP...

      It isn't so much that I have any particular opinion about GWT, but I do believe I am articulating the fundamental reasons for developer's reluctance to jump into it. Certainly we here are in no hurry to jump on the bandwagon. That was the question in the OP's mind, I just answered it. The market will sort things out, and when it does, we'll be in a fine position. We can come in, or we can do whatever makes sense in the long run.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    3. Re:Coupling by pohl · · Score: 1

      Your answer is based upon misconceptions about GWT, though. Setting the amusing semantic debate about "code generation" aside(*), all of your objections are easily addressed by the JSNI facility in GWT.

      This is no assumption about the back end, and invoking a soap client, or hitting a plain URL to fetch xml content, is certainly possible.

      I can understand how one can walk away from a casual glance at GWT with these misconceptions. Nevertheless, misconceptions they are.

      (*) The "code generation is evil" meme is typically reserved for the cases where one is expected to do something with the output beyond executing it.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    4. Re:Coupling by Giant+Electronic+Bra · · Score: 1

      Time will tell. ;)

      It isn't that I reject the concept wholesale, but I look at it this way, if I primarily develop client side code then the least complex path is to do it in the native language for that environment, javascript.

      Code generators ARE evil! lol. And quite frequently in my experience EXACTLY what you want to do is tweak the generated code. And that inevitably involves paying the cost of getting into the guts of the code generator, which means now I'm not supporting MY code, I'm supporting the GWT code on top of it. Given the amazing profusion of technologies one already has to master in order to get these kinds of project done, one less is a mightly appealing concept to many of us!

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    5. Re:Coupling by pohl · · Score: 1

      if I primarily develop client side code then the least complex path is to do it in the native language for that environment, javascript.

      I think history argues against this belief: you're not just writing code for one environment, but many different browsers, and different versions of each browser: IE6, IE7, FF2, FF3, Safari 2, Safari 3, Opera 8, Opera 9...This situation is very much like the situation that led to ANSI-C and POSIX, because the frustratingly-different flavors of UNIX and different instruction sets of the processors made it much less complex a proposition to write platform-independent code instead.

      In my project, I was able to use Safari throughout development. When I tested in FF, it all worked beautifully. When I tested in IE, I had a brief panic, but it turned out to be one bad idiom on my part and I fixed it in a day. GWT really does insulate you from browser quirks. It was amazing.

      And quite frequently in my experience EXACTLY what you want to do is tweak the generated code.

      Maybe you could install a shock collar on yourself to condition yourself out of this impulse. I find that when my object code isn't quite what I want, the best course of action is to edit my source and recompile. ;-)

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    6. Re:Coupling by Giant+Electronic+Bra · · Score: 1

      Still not the same thing. There are orders of magnitude difference between the complexity of x86 instruction set and javascript.

      In any case Prototype works great. Abstracted away all those nasty browser issues. My stuff seems to work fine in any modern browser too. Time will tell which approach is best, but so far I'm not convinced of the value proposition. hehe

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    7. Re:Coupling by pohl · · Score: 1

      For what it's worth, my aim is not to convince you of GWT's value proposition. I was just addressing misconceptions that might cause others to misjudge it.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  75. GWT / Spring / Hibernate / Maven 2 by lochranza · · Score: 1

    We're building alot of internal web apps for corporate clients - it takes a little bit of effort but GWT can sit on top of existing Spring Services and take advantage of lots of deployed SOA, making the case for GWT very easy to make. Feedback over the last year has been very positive.

    We open sourced a sample app to have GWT/Spring/Hibernate/Maven2 up and running very quickly, all details here.

    http://code.google.com/p/shine-reference/

  76. It's still labor intensive by MrBlic · · Score: 4, Informative

    I've recently spent a year with the GWT, and just a couple of months with Flex.

    I would use Flex to flashify whatever dynamic parts of a standard html page I needed to for my next project. Everything that I'm trying to do in GWT could be done much faster in Flex... and when you are done in Flex, you are really done.

    In the GWT, you have to be aware of what html each of the Java GWT widgets equates to... and then in the CSS, you have to work thinking about the resulting html. (FireBug makes it pretty easy.)

    Cons for GWT 1.4:

      - Long start-up times: web sites can take 8 seconds to show you their first page as the GWT javascript initializes.

      - One imperfect CSS declaration, and you're having to debug IE6 / IE7 / Firefox / Safrai issues... Only very plain sites are insulated well from browser incompatibilities.

      - Your site is all-or-nothing GWT. It's possible to use one GWT app to automate one part of a static page easily... but usually your whole site is 100% GWT, with no other static pages outside of the GWT's control.

      - The AJAX mechanism on RFC-compliant browsers only lets you make two async requests at once... a third request is queued until one of the first two async requests returns... making it only asynchronous to an extent.

      - I ended up having lots of html in my .java files, and using the HTMLPanel to turn that html into a GWT Widget. There are some parts of a web site that really do make more sense as HTML, and there's no easy way in GWT to keep the html separate (no templates!?!)

      - The integration of GWT development can be done simply, but it can also grow to mirror the complexity of EJB style Java junk way too easily.

      - IE needs special treatment (worth repeating.)

    That said, it's probably the best way to create a web app for an iPhone right now, since there's no flash on the iPhone. (Please Adobe, I'd love it if you created an Air run-time for the iPhone!)

    Pros of the GWT:

      - it makes it easy to handle the back button and bookmarks.

      - it can scale up to fairly large sites, and the smallest building blocks can be kept clean and small.

      - the end user experience is a good one after that start-up delay.

      - The GWT team has done lots of fantastic work, and in an open exchange... one of my coworkers has committed some changes to one of the supporting libraries.

    Flex, on the other hand is designed to appeal to people who are weary from fighting CSS / browser incompatibility issues. In Flex, you still use CSS, but it works the way you would expect all the time. In Flex, you can also skin any compononent to look however you want, and then have a very clean top-level which wires up the various components with their skins. It's really beautiful... and best of all, when you're done, You're done! You don't even have to test on IE6! The learning curve is about the same, or a little harder, but it's all forward motion.

    My next site is going to be 80% Django templates, with a good dose of mochikit (or dojo) for some dynamic parts, and a few Flex / flash applets sprinkled in where they make sense.

    --
    Celebrate Excellence!
    1. Re:It's still labor intensive by Anonymous Coward · · Score: 0

      Just thought I'd comment on the "with Flex, you're really done!" part. I wrote a Flex app that mimics the thing a pilot uses in the cockpit to interact with the onboard computer systems (used for training purposes). When it runs on Windows, it's perfect. However, when I run it on Linux the fonts aren't exactly like it is on Windows (even though I embedded the font and not using system fonts), resulting in differences in how it looks and ultimately how you interact with it. So there can sometimes be visual anomolies between different platforms. Something I thought Flex would be immune to.

    2. Re:It's still labor intensive by MrBlic · · Score: 1

      Did this happen even when you embedded your true type fonts?

      --
      Celebrate Excellence!
    3. Re:It's still labor intensive by Anonymous Coward · · Score: 0

      I'm trying to make a decision between using GWT with maybe a little Flex sprinkled in if needed, or going full Flex for the whole thing. This is going to be for an intranet app that is going to be pretty large and continue to grow indefinitely.

      Any suggestions in that regard?

      I really like GWT and am planning to use it on one of my personal hobby projects, but its looking like Flex is the way to go for this work project. The team is inexperienced with Actionscript, but has plenty of Java experience, but the learning curve of AS doesn't look too terrible. We have an existing back-end written in Java (using Spring) that we will use in either case.

      With Flex, communication will be via AMF (and BlazeDS), or at least that seems to be the best option. There will be a lot of communication between the client and server for this application, so communication with the server is pretty important, but AMF appears to be up to the task.

      GWT's GWT-RPC appears good too, with a advantage that we can reuse some of the server-side code for data transfer objects and such.

  77. Currently in Progress... by Anonymous Coward · · Score: 0

    My company is using it as an Administrative system to replace an aging Struts application.
    We decided to use it only as an admin tool since we can control what browser is used and the requirements that are needed to use it.
    Combined with Ext it's a great tool and we are finding it really effective in an alternative to a fat client.

  78. Internal project by WPIDalamar · · Score: 3, Interesting

    We did a QA interface to one of our projects so we could test the backend without going through the rich client. It was a great experience and really easy to get working. The javascript/java backend communication was ultra-simple to get working.

    But...

    If we want to really easily create something that looks great we'll be sticking with more traditional approaches either using Flash/Flex or AJax with a standard JS library. Having a designer skin a GWT app is harder than those approaches.

    I've been reading a lot about DWR and that plus a UI library will probably give you most of the benefits of GWT. Have to give it a try soon.

  79. kDice by tommertron · · Score: 1

    Can I just give a brief shout-out to k-Dice? It's a little buggy at times, but man, is it addictive and fun to play.

    --
    Random rants about technology: http://technorants.blogspot.com
  80. Use of GTW by Anonymous Coward · · Score: 0

    We're considering it for http://www.BibleMaximum.com 's OneLine version to replace the UI framework.

  81. GWT is superb, but most people dont need it by Anonymous Coward · · Score: 0

    So reasons it isn't used as much as it might be:

    1. The pre-open source license was quite restrictive (i think it was non-commercial only)

    2. Very few people are building full on rich client in a browser apps

    3. html / css devs are a lot cheaper than java devs

    Conversely I'm a java developer and I wrote the gui for http://www.bionicbooks.com (my site - an accounting app for small businesses) in gwt and it saved me a huge amount of time. Also the gwt forum is very active so there must actually be a lot of people out there using it. I absolutely love it and I'd highly recommend it.

  82. Re:Sounds kind of like ASP.NET development, minus by rufus+t+firefly · · Score: 1

    This sounds kind of like ASP.NET development, minus the integrated IDE. Also, it's not particularly clear how to roll this out to my favorite hosted environment.

    Yeah, no integrated IDE available.

    --
    "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  83. Re:fr0sty piss by hesaigo999ca · · Score: 1

    I tend to agree, I find that alot of the web apps out there create bloated code, and use too much fancy stuff, yet when you get an old browser on their page, oops, we cant serve you.

    I created my own web site generator making templates out of php and asp.
    I don't add javascript unless absolutely necessary like a calendar that pages through events
    in real time, this you need actual jscript for, but the rest, you can just inlay pure xhtml, and off you go. No probs for lesser browsers.

  84. It's java... by Uzik2 · · Score: 0, Flamebait

    Java has a bad reputation for client side development.
    I've done a little client side and it was painful.
    I'm not all that thrilled with the implementations of the interpreter provided for clients.
    Everyone already has their own preferred tools for server side stuff.
    So nobody wants it unless they're already a java programmer.

    --
    -- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
  85. DealBook Web and more -- just look harder! by Anonymous Coward · · Score: 0

    Look harder. A lot of commercial Web sites are written in GWT, they are just not going to make this very public. Take a look at a DealBook Web, for example: http://www.gftforex.com/software/dealbookweb/ It is just one amazing example of real-life use of GWT technology.

  86. No good widgets by HalB · · Score: 2, Interesting

    It doesn't have any of the good widgets that exist on most of the google pages that make them great, at least the last time I looked. For instance, there's no pop-up calendar date picker like Google Calendar uses. There's no form field completion popup with scrollbar. So if you want to do anything good, you have to roll your own anyway, or use something like YUI.

    If you are going to end up using YUI anyway, it does everything GWT does and more, so you might as well simplify and limit your third party library complexity to one fewer library.

    Also, when something doesn't work in GWT, you usually end up debugging the javascript anyway. It's a lot easier to navigate code you wrote than generated code.

    It really doesn't buy you much over JS-only toolkits, IMHO. Unless all you know is Java and you want to make a very very simple website.

  87. GWT by C_Kode · · Score: 1

    I find that it doesn't work in Opera (for the most part) GPokr and Kdice don't and I actually saw Gmail's Google Chat actually work for the first time yesterday within the Gmail webmail client. I know you could load the chat window itself in it's own window and it would sort of work.

    I though Opera was supposed to be the browser that abided by all the standards. Then why do so much stuff not work in it? Is it Opera, or just web developers not sticking to standards?

  88. What Problem Does It Solve? by CresmondRoo · · Score: 1

    GWT was built on the idea that making a good UI using HTML and JavaScript was soooo terribly hard that you would rather use the AWT. That's a horrible solution for a problem that has a well-trained workforce already assigned to it. Why can't we come up with a 100% abstract universal user interface description language and compile it everywhere? I don't think we have tried hard enough. We have failed, and learned some things from our mistakes, and made some cool next-generation toolkits like SWT. Let's take it to the next level, boys and girls.

  89. Lack of... by Xphile101361 · · Score: 1

    I looked into learning GTW about 6 months ago and found the lack of GOOD documentation and tutorials troubling. This was the main reason I stayed away from it. I didn't really find a good community in which I could ask questions to.

    The second part of it is that I do web projects and programming for fun, not for business. With that, I rent a server instead of hosting my own. A lot of companies I see that offer the ability for you to host small websites, don't offer the ability for you to build a GWT application and host it on their site. Which means you have to either build and host your own server to do it or you have to pay more to rent part of a server to do it. I'm only paying 5$ a month to rent, and I'd like to keep it that way. When it comes to doing what I want to do in PHP with an AJAX framework (XAJAX in this case) or moving over to GWT and having to find a whole new setup to do it, I'll stick with PHP.

    1. Re:Lack of... by ericzundel · · Score: 1

      I hope you find the documentation improved since 6 months ago. http://code.google.com/docreader/#p(google-web-toolkit-doc-1-5)

  90. No PHP port by Anonymous Coward · · Score: 0

    I tried it just when was released and I couldn't port it to PHP because was to hard (some conversions classes, some ports...).
    I know it's a Java based framework, but since we use PHP where I work, this was discarded fast.
    So sad... I'm still curious to see a real (and easy) port for PHP...

  91. vype.com by Anonymous Coward · · Score: 0

    vype.com uses gwt for their chat client

  92. Lessons after investing nearly a year into GWT... by not+already+in+use · · Score: 3, Informative
    GWT is cool once you get started, but eventually familiarity breeds contempt. The issues that always bothered me were the following:
    • Any UI toolkit is going to limit customization of the UI to an extent.
    • The javascript is generated from Java code on the client side, and best supports Java code on the server side. This presents two issues:
      • Good luck finding a cheap Java host
      • You are tempted to use cool things like Hibernate, which presents a problem when entities are being passed to what is ultimately javascript code.
    • Deploying was always a bitch
    • Writing a webapp in a statically typed language seemed.... wrong.

    I ultimately scrapped this project and started it over using another google product, Google App Engine. All client side stuff is done using jQuery, it gave me an excuse to learn python which I absolutely love. And, GAE has the specific goal of making it easy to deploy and scale the application, which was always something I had dreaded even thinking of.

    --
    Similes are like metaphors
  93. The short answer by DaveDerrick · · Score: 1

    Am I using GWT ? No. Hope this helps, thanks for asking. kthxsbye.

  94. YMMV by Morosoph · · Score: 1

    I get this on my command-line:

    Web 2.0

    ^W: Web
    ^W:

    The GGP might only be describing his own system, but he isn't trolling.

    My geek licence, BTW; I should have realised that not all systems are the same in this regard.

  95. GWT Demo at Developer Day, Sydney by Anonymous Coward · · Score: 0

    I loved the concept of detecting run time errors at compile time... though I've yet to even download it.

  96. Re:fr0sty piss by encoderer · · Score: 4, Insightful

    I think the market has shifted a bit more than you're giving it credit for.

    But it all depends on your niche.

    We built our business on web retail and we still do an awful lot of it. And in that world, you simply cannot afford to lose a customer due to whatever whizbang technology you want to use at the moment.

    But outside of retail is very different.

    And the truth is, non-JS visitors and non-Flash visitors are the slimmest of minorities. 1-3% on average. If I was targeting the /. market I'd accommodate it. But for a general cross-section of the web? Javascript rules the day.

  97. Licensing issues by Anonymous Coward · · Score: 0

    We investigated if GWT would be usable for a big and complex web dev project (in a top IT company), and we found out the technical quality of GWT is pretty high. It just have a fine level of abstraction, allows to custom everything, and is pretty performant. The problem is licensing. They pretend that it's licensed under the Apache license, which is not true as they are 3rd party programs included that makes using GWT in a commercial application a legal nightmare. At least this was our conclusion. For a good counter-example, look at Eclipse and RAP. If Google could clean the licensing issue, they could easily gain acceptance outside the private/"just try it" out domain

    1. Re:Licensing issues by mick_S3 · · Score: 1

      Care to elaborate with some specifics?

      --
      A gin in the hand is worth two in the bottle.
  98. Good for new projects by Anonymous Coward · · Score: 0

    The reason you might not see a lot of sites using it is because it makes more sense to use it for new UI projects. You can rewrite your web app to use it, even taking advantage of existing Javascript you have written (using JSNI), but that's probably a huge undertaking if you have a reasonably complex site. GWT is really new, so you can only expect really brand new sites to be using it.

    One of the other reasons you may not see much usage of GWT is that it is being used for intranet applications, probably more so than public internet apps.

    I think GWT is a great approach and plan to use it for my future webapps. Most of the criticisms against it are misunderstandings about how it works.

    I am actually planning to rewrite one of my web apps (written with Spring MVC, DWR, and a mix of Javascript libraries) using GWT. GWT's approach is that much better that I'm willing to throw out the work I've already done.

  99. I can answer the submitters question by Anonymous Coward · · Score: 0

    Is Anyone Using the Google Web Toolkit?

    Yes. Someone is using the Google Web Toolkit.

  100. It is still easier to write a GUI by croftj · · Score: 1

    Sadly, unlike WT (http://www.webtoolkit.eu/wt/), the google web toolkit forces me to write java on the server and the client and does not make it easy to have the serverside actions happen on button clicks etc.

      What I really want to do it write an application like a gui where I write in a single language (c++/Java/whatever) and it deals with the browser and the server and I don't have to think about it, when a button is clicked this function is called, if it's on the server, great, if it's on the browser fine. Wt is very close. What it is missing is the graphical designer that Qt has. Add that and it will be quite the tool!

    --
    -- Many men would appreciate a woman's mind more if they could fondle it
    1. Re:It is still easier to write a GUI by rufus+t+firefly · · Score: 1

      What I really want to do it write an application like a gui where I write in a single language (c++/Java/whatever) and it deals with the browser and the server and I don't have to think about it, when a button is clicked this function is called, if it's on the server, great, if it's on the browser fine. Wt is very close. What it is missing is the graphical designer that Qt has. Add that and it will be quite the tool!

      Yeah, it would be great if there were just some UI designer tools available ....

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
    2. Re:It is still easier to write a GUI by croftj · · Score: 1

      Spiff, but the first two examples, from what I can tell don't solve the RPC issues. The 3rd is questionable, it may.

      What Qt and Wt both offer in the RPC arena is SIMPLICITY. GWT does not offer this out of the box.

      Also, do any of these allow me write a single app which splits the functionality of the server and browser for my without me having to do the work? I know GWT out of the box does not. Write your java code for the Browser, compile to javascript, Write your code for the server, put it on there using Tomcat or whatever. Hope you have your RPC calls handled proper...

      --
      -- Many men would appreciate a woman's mind more if they could fondle it
    3. Re:It is still easier to write a GUI by rufus+t+firefly · · Score: 1

      Spiff, but the first two examples, from what I can tell don't solve the RPC issues. The 3rd is questionable, it may.

      What Qt and Wt both offer in the RPC arena is SIMPLICITY. GWT does not offer this out of the box.

      How so? GWT Designer, at least, creates one from the other, such that stubs for functions are created in the appropriate places, and it does check that the RPC calls are in the proper format, etc.

      Also, do any of these allow me write a single app which splits the functionality of the server and browser for my without me having to do the work?

      You mean determining which parts run on the client and which on the server? Create a class implementing RemoteService, populate it with methods, and they're all available to use via the *Async methods provided to you, almost as simple as calling them natively, with the exception of having to load the actual Async class in a particular way). This is done particularly well in GWT, and the UI design frontends for it hide much of the complexity.

      I know GWT out of the box does not. Write your java code for the Browser, compile to javascript, Write your code for the server, put it on there using Tomcat or whatever. Hope you have your RPC calls handled proper...

      How is this the case? If you're using native GWT-RPC this is handled for you. JSON RPC calls, you're on your own, but that's pretty much the way it is with all of the toolkits.

      Last time I checked, GWT Designer (and even GWT "out of the box") supports an embedded tomcat container which allows full testing of an application without deploying it.

      Next problem with GWT, please.

      --
      "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  101. i use it by Anonymous Coward · · Score: 0

    The company I work for uses it and we love it. We develop a closed webapp so nobody except our customers sees it. I don't know how we could've developed such a large and richapp webapp without it.

  102. It's not called trolling by jaaron · · Score: 1

    It's called lurking.

    --
    Who said Freedom was Fair?
    1. Re:It's not called trolling by Anonymous Coward · · Score: 0

      No, this guy was actively trolling.
      He replied to almost every post with some wise ass comment, never adding to the conversation.

      Dammed ACs!

  103. Yup by s2jcpete · · Score: 1

    I use it for my day job and love it. Its not outwardly visible that it is being used but I suspect websites just aren't running around advertising what toolkit they are using.

  104. It doesn't have to be complicated by Anonymous Coward · · Score: 0

    A few years ago I found this code somewhere, not sure where:

    <script>
    var x=false;
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    try {
    x = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    x = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
    x = false;
    } }
    @end @*/
    if ( !x && typeof XMLHttpRequest != "undefined" ) { x = new XMLHttpRequest(); }
    var n = String.fromCharCode(10);
    x.open( "GET", "data.php" );
    x.onreadystatechange = function() {
    if ( ( x.readyState == 4 ) &&  ( x.status == 200 ) ) {
    var r = x.responseText;
    var l = r.split( n );
    // do stuff with l array
    }
    x.send( null );
    }
    </script>

    It is the most reliable and useful thing I have ever found, and I have built a bunch of websites that use it. Basically, your data.php page feeds it linefeed-delimited data, then your page responds to that data. Why do we have to use all these crazy libraries and their associated overhead to do this very simple task? You can keep your frameworks and toolkits, this little code chunk gets the job done.

  105. Re:fr0sty piss by rgviza · · Score: 3, Insightful

    >Not everyone needs AJAX.

    To expand on this, not everyone needs Google's API to do AJAX. It's possible to write cross browser AJAX code and not end up with 10k of javascript. My own stuff ended up being 1.58k total.

    This code reads xml (generated by server side processing on the fly), and generates large dynamic arrays of form controls, as well as the typical list population stuff. In my case, that's all I needed.

    It will actually _add_ to a user's experience if they are on a slow modem, since the static html would be 100k +. The AJAX powered stuff is under 8k source they are downloading.

    If I used googles API it would take 2-3x as long for someone on a slow connection. Anyone that's seen the broadband penetration numbers for the U.S. (just hit 50% in April) realizes that page size is, indeed, still important.

    Add that fact to the fact that you become dependent on google's site being up when you use google's API to generate your interfaces, and it's simply not an attractive option for some (apparently most) people.

    It's Google's API so it doesn't suprise me that they are just about the only one's using it. AJAX is Really Simple(tm) stuff. You are better off grokking it and writing the minimum you need to do the job.

    I do use google maps though; that's cool stuff. However since my site will work if the map server dies, I don't feel so cagey about using it.

    -Viz

    --
    Don't kid yourself. It's the size of the regexp AND how you use it that counts.
  106. We are! by Anonymous Coward · · Score: 0

    My company use it for a large web application in waste management domain. We use IT Mill API for GUI, a toolkit based on GWT.

    http://www.itmill.com/

  107. Maybe you're using the wrong language on th server by drew · · Score: 1

    If your main concern is using the same language on the server and the client, maybe you need to look at a different language on the server. I used to think it was really neat, but JavaScript has a lot of problems that make it a less than ideal server side language. And when my last company started to switch to .NET on the server, I realized that really, the only benefit (besides not having to know more than one language) was that it made maintaining our JSON serializer/deserializer code much simpler.

    Personally, I've never considered GWT because I know JavaScript really well, and I don't know Java. I've also never felt that there's anything all that difficult about building GUI apps using JavaScript/CSS once you have a decent DOM & XMLHttpRequest abstraction layer. Throw in Firebug, and I actually thing it's easier than building GUI apps in any compiled language. Maybe it's just because I never drank the static typing Kool-Aid.

    Finally, even if I did know Java really well, I don't really like the idea of using a client side platform that ties me to a specific server side platform. (Which is why, aside from its sheer bloatedness, I never looked seriously into Atlas / ASP.Net AJAX when I was doing .NET development) There's no reason the two should be tied together.

    --
    If I don't put anything here, will anyone recognize me anymore?
  108. Re: Is Anyone Using the Google Web Toolkit? by Anonymous Coward · · Score: 1, Insightful

    There's a saying that "It's hard to teach the old dogs some new tricks" (or sth like that) and this also might apply here. But the major reason why the GWT isn't widely seen in use is I think the lack (for now at least) of a strong need for it. I mean, most web apps I see still don't rely heavily (not to mention entirely) on JavaScript where using GWT as an alternative might be a big win (in some cases). There are some exceptions of course: apps which involve some serious browser coding (like Gmail or Google Maps though none of them done with GWT) but they're still in minority.
    So, in my opinion, the GWT is still waiting for its time to come, i.e some serious explosion of demand for desktop-like web apps in the browsers where it would justify the effort of learning & using it (of course for those who like Java/static typing/the tools around it and hate/don't want to learn JavaScript or get used to its dynamic functional-like nature).
    Now, if it goes about some "major" web apps using GWT (besides those mentioned) I know of one more: Lombardi Blueprint [http://www.lombardisoftware.com/bpm-blueprint-product.php]. There's also a Google I/O 2008 session "Using GWT to Build a Diagramming Tool" done by the guys who build it [http://www.youtube.com/watch?v=xh5Vo_drhDE].

    PS: sorry for my crappy English - it's not my native language.

  109. Two More Answers... by KalgarThrax · · Score: 2, Insightful

    There are some good reasons mentioned here, but I wanted to throw in my 2 cents as well. I have used Wicket professionally and loved it. I evaluated the GWT on my own time and was moderately impressed. HOWEVER:

    Most people that are in charge of project are not going to pick a "new and cool" component-based web framework like the GWT or Wicket simply because they are afraid of what they do not know. I am not talking about some guy providing professional services (those are the people mostly using Wicket and GWT actually) but about primary architects at medium to large corporations with multi-million dollar budgets.

    Why do they not make what I think is the right choice? The fear is part of it of course, but these guys are good, smart professionals, so there must be another reason. I believe that reason is the glut of web frameworks currently available on the Java platform. Even evaluating one takes time a lot of these people do not have. If they cannot evaluate everything, they cannot agree on anything, so there is no industry wide consensus. Most of these people are very careful risk-averse individuals (a good trait to have for an engineer), and there we are.

  110. Glassfish? by Slashdot+Parent · · Score: 1

    I've never used glassfish. I'm curious why you recommend it so strongly over JBoss.

    For app servers and servlet containers, I've used Weblogic, Websphere, JBoss, Jetty, and Tomcat, and I couldn't say that one or the other of them made my life 1000x easier. ;)

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  111. Much lighter than you'd think by pohl · · Score: 3, Informative

    I've used GWT to develop a pretty sophisticated server-side piece of a vertical market product. I approached GWT with much of the same trepidation as you have expressed. In the end I just had to "let go" and think of Javascript as an assembly language. (After all, I've been ignoring assembly language all these years, why not ignore Javascript?)

    Now that our product is in a mature phase, and looking back at what we've built, I'm amazed by the brilliant design tradeoffs chosen by the GWT team at Google. Kudos.

    The generated Javascript ended up being very easy to debug, and exceedingly lightweight. Since the source language is static, the compiler is able to leave out every feature that you didn't use. Their "Pay As You Go" philosophy actually works.

    The only major caveat that comes to mind is that GWT shines for "web apps" more than for "web sites", which may account for why the submitter isn't seeing GWT "in the wild". It's important for sites to be spiderable, and you get the most leverage out of GWT when you're building an all-in-one-page DHTML rich-client application, not a site. It's still useful for sites, but then you'd be hunting squirrels with a bazooka.

    But that can be fun, too.

    --

    The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  112. +1 Informative by telbij · · Score: 1

    Thanks for the info.

  113. me by Anonymous Coward · · Score: 0

    Checkout http://www.theclassconnection.com The website is developed entirely in GWT

  114. Re:Lessons after investing nearly a year into GWT. by Anonymous Coward · · Score: 0

    * Any UI toolkit is going to limit customization of the UI to an extent.

    This is a trade off for compatibility and maintainability. If you want to make really fancy UI's that push the limits of HTML and CSS then good luck maintaining that across browser version.

    * The javascript is generated from Java code on the client side, and best supports Java code on the server side. This presents two issues:
                        o Good luck finding a cheap Java host
                        o You are tempted to use cool things like Hibernate, which presents a problem when entities are being passed to what is ultimately javascript code.

    Then don't use Java on the server side. GWT supports standard Ajax and JSON and XML. If you want to use the big tools then you'll need to understand them first.

    * Deploying was always a bitch

    Really? Step 1) compile, Step 2) FTP

    * Writing a webapp in a statically typed language seemed.... wrong.

    Writing a desktop app using Web technology IS wrong. Better use real software development tools if you want to build thick clients... trust me.

  115. This site uses GWT... by heavygravity · · Score: 1

    It looks like http://www.songboxx.com uses GWT (once you search for something), but it seems like it is on a SLOW server. Pretty neat though.

    --
    Cuban Music MP3's - cuband.com
  116. Re:Lessons after investing nearly a year into GWT. by not+already+in+use · · Score: 1

    I'm doing all sorts of fancy UI stuff with jQuery, all cross browser compatible. And notice I said it "best supports Java code on the server side," not exclusively Java on the server side. Being able to pass java objects in pseudo-native fashion with all serialization and whatnot being done behind the scenes is a very nice feature, and was one of the things they were selling the platform on when I got started in it.
    I should clarify regarding deploying. If you are deploying strictly html/generated javascript, it is trivial. Not so much when it involves making it play nicely with a Java backend in a deployed state.

    --
    Similes are like metaphors
  117. Re: Accessibility :Why are you expecting this? by HommeDeJava · · Score: 4, Interesting
    Here's a quick overview of what has been done in GWT 1.5 in terms of accessibility support:

    * Keyboard support to Menus and TabBars

    * Added ARIA roles/states to MenuBar/MenuItem, Tree/TreeItem, TabBar/TabPanel, CustomButton/ToggleButton/PushButton

    * Screen readers are now able to identify and speak the content of these widgets

    * Improved tab navigation

    * New API to set ARIA roles/states on Elements (still experimental)

  118. SEO hard to do with AJAX by Anonymous Coward · · Score: 0

    One site that I've noticed that uses GWT upnext.com.

    I've used GWT before and think it's a well done framework. It simplies AJAX dev a lot and really allows you to get a desktop like UI up and running very quickly.

    One reason though why it may not be catching on is SEO. Full out javascript heavy ajax apps are increasingly search engine unfriendly.
    This is one area where google needs to work with itself. They should make GWT work with the Google Search Engine, or make the Google search engine able to index ajax apps properly.
    Right now, ajax apps seem to get 'punished' since its hard to define links to them.

  119. Re: Is Anyone Using the Google Web Toolkit? by rufus+t+firefly · · Score: 1

    There's a saying that "It's hard to teach the old dogs some new tricks" (or sth like that) and this also might apply here. But the major reason why the GWT isn't widely seen in use is I think the lack (for now at least) of a strong need for it. I mean, most web apps I see still don't rely heavily (not to mention entirely) on JavaScript where using GWT as an alternative might be a big win (in some cases). There are some exceptions of course: apps which involve some serious browser coding (like Gmail or Google Maps though none of them done with GWT) but they're still in minority.

    I beg to differ. I think that GWT is more directed at "traditional" UI designers who are trying to make the move to web based applications, but want to do so without sacrificing code quality and maintainability. We're seeing an increasing number of apps move away from traditional server-side page rendering, since more users appear to be asking for desktop-like response from their web apps. (hence "web 2.0" or whatever awful name is being used for it now)

    --
    "He may look like an idiot, and talk like an idiot, but don't let that fool you. He really is an idiot." - Duck Soup
  120. No thanks by Murpster · · Score: 1

    "You write your front end in the Java programming language and GWT compiles your source into highly optimized JavaScript." Java that turns into JavaScript? Is that like vomit that turns into diarrhea? Thanks, but HELL NO.

  121. GWT is excellent - Some evidence by ajm · · Score: 1

    This is going to come across as arrogant but what the hey. GWT is excellent and if you're not using it for any new browser based front end development I think you're missing out on the best development environment currently available. I really urge everyone to give it a go. I work on a commercial product, blueprint.lombardi.com, with a UI completely written in GWT. This is a product for which we charge money, not a demonstration or proof of concept. It supports IE6, IE7, FF2 and FF3 and includes features like drag and drop, animation, and automatic graph layout and line routing. I spoke at Google IO this year, you can see the presentation here Using GWT to build a high performance collaborative diagramming tool for a more in depth look at what we've been able to do with GWT.

    We originally started building Blueprint using a mixture of flash and html, then tried the dojo toolkit and settled on GWT at the start of 2007. Flash and html didn't work well together we wanted to be able to drag and drop between the two environments and that didn't work. Besides, in the real world you have to support some very old versions of Flash and there are people who can't, because of corporate policies, upgrade to more recent versions. We did manage to produce an alpha release of Blueprint using dojo but it quickly became apparent that it was not going to be maintainable. Switching to GWT was a breath of fresh air. You get all the advantages of the fantastic java tooling that's available these days. and hosted mode debugging makes finding runtime errors easy.

    The fundamental parts of GWT are the java to javascript compiler and hosted mode execution, the widget toolkit and RPC mechanisms are excellent but are not what makes GWT so good. The compiler takes the java code you write and applies very aggressive optimization to create javascript that is more compact (in obfuscated mode) and that executes faster than code you would write by hand. I kid you not, I have a post here Overlay types, the dom and deferred binding in GWT 1.5 that demonstrates just what I mean. You can reliably refactor your code using modern IDEs, something that's not possible with raw javascript.

    Hosted mode execution lets you single step through, in, for instance, Eclipse or IDEA, your GWT java code while it controls a the UI in a browser. Nothing comes close to providing that level of productivity when you're working with raw javascript. It is frankly amazing when you see it in action.

    GWT does a good job of hiding difference in browser behavior but you still have to be aware of CSS behavior differences between browsers if you're trying to do some of the fancier things you see in our Google IO presentation.

  122. Re:fr0sty piss by rasensio · · Score: 1

    I'm a java guy who tried GWT and I got disappointed when tried to integrate to my current IDE, the eclipse project creator is so narrowed that I couldn't work it around easily. The winner lang-framework will be something very similar to GWT. Imagine use swing directly in the browser without all the jvm load and plugins, etc. Today with javafx, air and silverlight they are trying to do that. Something standard and open will come up, but thanks to companies like google who research and releases products like gwt that objective is nearest each day.

  123. I'm happy with it by Anonymous Coward · · Score: 0

    I've been using GWT for around a year now, and have built several application like websites for my company (from medium sized to fairly big). The sites are currently actively developed and maintained, and are used by hundreds of (paying) end users.
    There's a lot of myths around here about what GWT is and is not, and a lot of "experts" that actually haven't touched the thing.
    For me using GWT is a pleasure, and has saved A LOT of time, I can code for the web using Java and am (almost) completely isolated from "low level" coding, browser incompatibilities, and CSS hell (and yes, I've been there a lot of times in the past).
    As for having to look at the generated JavaScript, that's rubbish, in a whole year I've had to do that ONCE, to figure out a strange bug I was facing.
    The lack of built in widgets is real, but is well solved with GWT-EXT if you don't need to customize a lot.
    The masking of client-server ajax with an RPC like layer is brilliant.
    You have a complete Java debugging environment, that's priceless.

    As to why you don't see it take off, I'd say that there's so many frameworks popping up everywhere, that it's almost impossible for one to dominate the market. There's always some guy that prefers this or that language and environment (as you can see by other posts), and somewhere there's a framework to suit his taste.

    For me the choice was about productivity, and I'm happy with it. Also, I was coding stuff from scratch and didn't have to "glue" GWT to some less compatible technology. If someone already has a mammoth project in another framework/language/whatever, then you have the resistance to change, that actually might make sense, if you end up spending your time trying to glue your stuff together in awkward ways.

    As a happy developer, you can bet that, whenever possible, I'll use GWT.

  124. We Jumped on the Band Wagon by nrell2002 · · Score: 1
    Here's a little GWT web app written by a group of my friends. Its an online version of a pen and paper party game with a similar name.

    www.EatPoopUCat.com

    GWT was our solution to creating an interactive site without having to learn a lot of JavaScript/HTML/CSS tricks. It seems like it worked out pretty well, but you can be the judge.

  125. steep learning curve by LEEPS · · Score: 1

    I read two books about GWT and I like it a lot and plan on using GWT for my future projects at work. Although GWT is very promising, it comes with a steep learning curve. You need to know quite a bit to be productive. For quick prototyping I still prefer Hamlets (http://hamlets.sourceforge.net/). My $0.02
    Rene

  126. Currently using the GWT in several projects by Anonymous Coward · · Score: 0

    I am currently using the GWT a ton, in almost every project I am working on, there are some open source projects and some contracting projects that are using it that I am involved with. I am currently writing a web front for a reservation system and using JSF to power the UI and I am finding that it is hard to get the level of user interaction from the JSF tags that are out there, so I am integrating GWT into our JSF pages to get a more rich experience for the user and to speed up my development. I love the design and simplicity of the GWT. If you are concerned with the amount of JavaScript generated, you should check out the next version of the GWT (1.5).

  127. Rolling with different crowds... by Ryan+Dewsbury · · Score: 1

    First I want to welcome the slashdot readers that decide to play some poker or dice (like risk). I also want to provide a quick response to the comments on GWT. The problem with some of the discussion is that it doesn't recognize that software development is a huge industry not limited to scripting, the web, and UI's. I don't think its fair to say that GWT isn't catching on, and I can attest from book sales that it is definitely well used, but perhaps its fair to say its not catching on with web developers. I find that web developers in general are like the lead singers to a rock band (no disrespect intended). They're on the front end, they get a lot of credit, people talk about their lyrics, and they're on the cover of Rolling Stone. But the music industry is huge and much more than the front man. So when a new type of music comes along, say its Jazz, and it not about the buzz or doing something cool but instead more purely about the music it can still become immensely popular if not more so than lead singers - but its easy to conclude that it is not popular. I hope the analogy isn't too far fetched. You see, GWT, like good Jazz, doesn't have the promotion of popular music. Even though it's backed by google it's clear that Google doesn't promote a lot of its projects. GWT goes against what traditional web developers are comfortable with and as a result isn't popular with them and doesn't make it to their blogs or web 2.0 websites. However the massive market of desktop and server side developers really get GWT since it uses strong software development concepts and is capable of building thick clients. They want a piece of the web browser since it is so ubiquitous but they just don't have the blogs and web 2.0 buzz of the web developers. In the end it's not about which tool generates the most buzz its about the quality of the products you build. I for one, am extremely happy with the quality of products I can build with GWT.

  128. I just finished a year long GWT project & LOVE by Drake42 · · Score: 1

    GWT has been absolutely fantastic for me. My project is basically a kiosk with a specific functionality built in. This is nice because I didn't have to worry about integrating with any legacy UI.

    I'll tell you this tho: I'm never writing JavaScript again.

  129. DimDim.com by Anonymous Coward · · Score: 0

    dimdim is using gwt. it's a free livemeeting alternative.

  130. GWT not magic but very promising by HommeDeJava · · Score: 1
    We are using GWT for OpenSyllabus, a pretty large Web 2.0 tool, and we can now say mission accomplished. GWT has largely fulfilled its promise

    GWT is nothing less than a completely original approach to web development. So, its client-centric approach could hurt old Web habits, particularly server-minded coders.

    Furthermore, there are now maybe hundreds of JavaScript Libraries and Ajax Frameworks. A cleanup is in order. Of course, it takes some time...

    These facts can explain the relatively slow adoption of GWT.

    That said, let me simply explain our experience.

    So we ask ourselves: Which tool will be the good one considering our project itself, our team composition and our future developments? So we did a small survey.

    After some exploration, our short list of preferred or most likely tools includes RSF with Dojo/Dijit, JSF with RichFaces, jQuery, ZK and GWT the Google Web Toolkit. Further review concluded that the best technology was the Google Web Toolkit.

    At the end, our main argument was that our team is essentially composed of Java developers with little knowledge of JavaScript.

    As a matter of fact, GWT Cross-Compiler takes client side Java code and generates cross-browser JavaScript. When compiled the Client-side is then pure JavaScript and HTML. You can see JavaScript as the 'assembly language' of the browser.

    Our project, OpenSyllabus was entirely written with GWT and Java. So, we have never debug not even one line of JavaScript code for a project which has much as 400 MB of source-code (for both client and server side).

    In the ideal world, the Java developer would never have to write JavaScript code. This is a fulfilled promise of GWT.

    With GWT, Google bets on the 6 millions Java developers community out of here.

    Advantages of GWT:

    * Development time efficiency is our favorite advantages of GWT

    * Only one language : JAVA

    * GWT applications are faster than traditional page-based equivalents, and definitely require fewer HTTP round-trips

    * Requires no browser plug-ins, Web Start or JVM No downloads, no installations

    * Powerful & efficient in resources usage both network & server

    * Compatible with all recent desktop browsers

    * Open source, free and well documented

    * Supported and improved by Google and Open Source community

    * Rapid development and debugging with common IDEs as Eclipse

    * Familiar to Java developers, particularly those having Swing experience

    * Benefit from the Open Source Google API ecosystem

    Disadvantages of GWT

    * Need a good knowledge of Java * Components (Widgets) are from different sources and qualities * The built-in UI components library could be more extensive * Depends on cross-compiler performances * We have to keep an eye on security issues.

    Inherently Ajax (GWT and JavaScript libraries) create more opportunities for possible attacks if the application is not designed with security in mind. * GWT is a Toolkit not a FrameWork

    This means that GWT does not prescribe a way to build an application. So, for large application we have to set our own guidelines * CSS support

    It was the worst cross-browser problem we encountered

    GWT is not magic but has the potential to be the "next big thing" for Web 2.0 development

  131. It's great for consultants by SquirrelCrack · · Score: 1

    I work for a large consulting firm and have found that GWT (gwt-ext specifically) is great when our clients have rich client requirements, but do not have the ability to support large scale java script AJAX applications. GWT allows us to code the product in Java, document it, then hand it off successfully to an internal support team composed mainly of inexperienced java "developers" for maintenance.

  132. The Main Problem With GWT -- No Persistence by Udigs · · Score: 1

    Is that, since it is a Java to Javascript situation, GWT has to compete with Java. And here's the problem with that: If you want to do anything with GWT that is non-trivial, it's kinda a pain. Why? Because Java already has stuff like EJB3, RMI---GWT does this via serialization servlets, but these do very very little to help you with things like a) complex data types or b) nested data sets or even c) disconnected objects. The main problem is that there is no persistence built in. Rather, you have to roll your own DTOs to translate between the very very very simple types that GWT *CAN* understand and the complex server-side types. I used this on a bigish project about a year or so ago and simply maintaining the code that mapped my GWT DTOs onto my Hibernate models was enough to permanently disqualify it for me. For smaller projects, however, GWT is a dream.

    1. Re:The Main Problem With GWT -- No Persistence by jole · · Score: 1

      IT Mill Toolkit provides server-side API:s on top of GWT and thus gives you direct access to "stuff like EJB3". For an example, see this tutorial

      --
      Vaadin - the best open source framework for building web applications in Java - no plug
  133. View from a Java developer by gateep · · Score: 1

    We're currently using GWT to build web-based business applications in Thailand.

    Basically, if you're a Java developer, then I don't think it gets any better than this - you can share code between the client and server, and the GWT-RPC works extremely well.

    The GWT abstractions means you can create cross-browser applications with a minimum of effort, and their use of "deferred binding" together with agressive compiler optimizations means that the resulting javascript will likely run faster than would be reasonably possible if done by hand.

    I'm convinced that there's no way our team (2 people - my girlfriend and myself) would be able to create web-based applications as complex as we're doing in a short time using any other technology with I'm aware of.

    Note that I said "our team" - meaning developers who specialize in builing enterprise business applications in Java, who only have enough knowledge of Javascript to get by on. Other developers who use a different server-side language, or who consider themselves javascript ninjas, might not find the benefits as great.

    In our spare time we knocked up a puzzle site which uses GWT - see http://puzzles.radworkz.com./ We also have J2ME and Swing versions (not available from the site currently), and will be supporting Android once we get some spare time - all made relatively easy as thanks to GWT we can use the same Java source code on all platforms.

  134. JBoss Drools uses GWT by mdproctor · · Score: 1

    The rule engine JBoss Drools uses GWT, it's worked out very well for us allowing us to build a fast and complex app. The base set of widgets and theming with GWT still isn't good enough yet, although 1.5 is an improvement, so we used EXTJS with GWT, using the GWTEXT wrapper. However since the EXTJS license change we now need to migrate to something else, probably Dojo but still using a GWT wrapper.

    We have a number of blogs with screenshots with our latest work:
    http://blog.athico.com/2008/07/drools-50-m1-new-and-noteworthy.html
    http://blog.athico.com/2008/04/brms-for-drools-5.html
    http://blog.athico.com/2008/07/integrating-rolodex-to-guvnor-for-image.html

    Mark
    http://blog.athico.com The Drools Blog

  135. Please ... no by Anonymous Coward · · Score: 0

    I have to deal with GWT on a weekly basis. It has to be one of the most frustrating ways of using ajax. I have to keep on top of all the new generated files it makes based on hash sums that replace the old data (which a lot of times is the exact same) ... not to mention designers have a hell of a time making modifications to the generated JS files making the designers frustrated and, when it comes to ajax stuff, close to useless.

    Be kind to your friends, don't use GWT.

  136. Do they handle AJAX well? by sorak · · Score: 1

    I recently tried to write my first real AJAX page (a small and simple page with a date-publication selector, and I had a time getting the page to work on IE7, Firefox 2, Firefox 3, and Safari. (Maybe it was because I was just trying to retrieve HTML, containing tables, and dynamically embed it into the current page).

    Anyway, GWT has some strong competition. How does it, and it's competitors, do when it comes to cross-platform compatibility? If I just want to retrieve a table or widget, or piece of HTML and place it in the current page, are some better than others?

    (Please don't tell me that web 2.0 is based on the idea that everything involves encoding all data as XML or JSON, and writing an XML/JSON-to-HTML interpretor that runs on the web page).

  137. more like bash by Xtifr · · Score: 1

    What ever the differing beliefs of the churches of vi and emacs, most of them (except a few old curmudgeons) use bash, and in bash, two ^Ws is sufficient to delete "web 2.0".

  138. GoGrid uses GWT by Kitacorp · · Score: 2

    We used the GWT to build the GoGrid control panel. As we just got slashdotted today, Slashdot | EC2 Vs AppEngine Vs GoGrid Vs AppNexus, I think that makes us a big site using GWT.

  139. Simple... by FShort · · Score: 1

    Frameworks such as ExtJs are soooo much better to use if you're looking to develop an ajax-enabled web app. I've looked at GWT and Yahoo's YUI libs and ExtJs by far has a more consistent, feature rich API - and gets better with each release.

    GWT is really for java developers that dont want to get their hands dirty with javascript.

  140. GWT - two separate techs... by pegacat · · Score: 1

    I've been using GWT a bit to modify an existing velocity based application.

    It was a bit of work to get my head around, until I realised it was two separate things.

    First, it's a nifty way of writing GUI widgets in java, and auto-converting them to javascript.

    Secondly, it's an RPC mechanism for AJAX like cleverness.

    Now for me, that second one wasn't so necessary. I have a nice REST-style back end with an existing data structures. So once I stopped trying to splice GWT/RPC on top of that, and just used GWT for widget creation (using POST and GET from GWT), it all went swimmingly.

    I think there is an expectation that you'll do your entire site in GWT; however I've found it quite useful to just do some nice widgets in GWT, and keep most of the site classic velocity; it's easier and faster to maintain that way.

    I think GWT will take off when there is a richer 'standard' widget library - when you can build an editor like gmail's in as a single component. But at the moment gmail doesn't use GWT, presumably because it's tricky to do something that complex.

    YMMV :-)

    --
    Wer mit Ungeheuern kämpft, mag zusehn, dass er nicht dabei zum Ungeheuer wird.
  141. Re : Comparing Java and JS is not a fair at all... by HommeDeJava · · Score: 1
    Java developers are not afraid by JavaScript but the tool is too weak to give us any advantage over pure Java solution like GWT.

    Good JavaScript libraries like (jQuery ExtJS or YUI) makes much easier to use JavaScript but it's still JavaScript!

    In fact, comparing Java and JavaScript is not a fair at all... From a software engineering perspectives, JavaScript is too weak to hold water.

    As Brendan Eich, the JavaScript creator, himself recognises, JavaScript was designed to add a little bit of animation or a little bit of smarts to Web forms and Web pages.

    Furthermore, GWT has a JavaScript Native Interface (JSNI) that allows automatic inclusion of external JavaScript and directly interacts with JavaScript from Java and vice versa.

    I might perhaps add that GWT compiler generates faster JavaScript than you can write by hand!

    Finally, there are extensions available GWT-Ext and GWT-Query which does what Ext-JS and jQuery does but calls the GWT compiler to produce optimal code.

  142. abstracting js from other code is a bad call... by Anonymous Coward · · Score: 0

    GWT does for Java what MS ASP.NET AJAX does for C#/VB... Having used both - Microsoft's implementation is far better. Both are bad ideas for anything more than a sales mock, however.

    Web apps need to have code written by someone who understands it from the ground up and has had to maintain a site longterm before. You just can't know the dependencies in something like GWT/ASP-AJAX as well as you could if you wrote the JS ground-up.

    I agree w/ the comment on Progressive Enhancement but long for the day it isn't necessary. I want enhanced and I want it NOW!

  143. GWT is not for websites by Anonymous Coward · · Score: 0

    You won't see a lot of web sites using GWT because GWT is better designed for desktop-like applications (internal use). It doesn't mean than nobody is using GWT...

  144. Beats me by Anonymous Coward · · Score: 0

    I wrote a Java IDE in GWT for a project at school. GWT was the slickest toolkit we could find -- we didn't touch nary a line of a javascript. It was a lifesaver and I have *no* idea why it's not used much more.

  145. Re:fr0sty piss by tyrione · · Score: 1

    >Not everyone needs AJAX.

    To expand on this, not everyone needs Google's API to do AJAX. It's possible to write cross browser AJAX code and not end up with 10k of javascript. My own stuff ended up being 1.58k total.

    This code reads xml (generated by server side processing on the fly), and generates large dynamic arrays of form controls, as well as the typical list population stuff. In my case, that's all I needed.

    It will actually _add_ to a user's experience if they are on a slow modem, since the static html would be 100k +. The AJAX powered stuff is under 8k source they are downloading.

    If I used googles API it would take 2-3x as long for someone on a slow connection. Anyone that's seen the broadband penetration numbers for the U.S. (just hit 50% in April) realizes that page size is, indeed, still important.

    Add that fact to the fact that you become dependent on google's site being up when you use google's API to generate your interfaces, and it's simply not an attractive option for some (apparently most) people.

    It's Google's API so it doesn't suprise me that they are just about the only one's using it. AJAX is Really Simple(tm) stuff. You are better off grokking it and writing the minimum you need to do the job.

    I do use google maps though; that's cool stuff. However since my site will work if the map server dies, I don't feel so cagey about using it.

    -Viz

    Well said, and might I add that shouldn't the goal of all develop be to incrementally improve the performance of a site by code optimization, once you've gotten your requirements met? I don't care if you have a Fiber connection it's a waste of bandwidth to serve up substandard code and content when you can improve both.

  146. 13.34+6.65=19.990000002 by serodores · · Score: 1

    It's also because javascript can't get basic math right. Try: 13.34 + 6.65 in javascript, and you'll get 19.99000000000000002 Go ahead, try it if you don't believe me.

  147. GWT by Anonymous Coward · · Score: 0

    There is a web conferencing site which uses GWT www.dimdim.com.

    I personally have been using GWT for a year now mostly in the areas of public health.

    I found it to be powerful and efficient resource wise any J2EE developer will not have to go through any steep learning curve(learn Java script or proprietary libraries).

    It produces better javascript than hand coded java script.

    Ref: http://www.youtube.com/watch?v=nvti32k4xyU