Slashdot Mirror


Google Web Toolkit Now 100% Open Source

chrisd writes "When we first released the Google Web Toolkit (GWT) we were focused on building a great tool for people to build AJAX apps with. Now, we're happy to announce that all of the GWT source code is available, including the Java to JavaScript compiler and the debugging browser, under the Apache 2.0 license. If you'd like to see how we pulled off letting you avoid dealing with nasty browser quirks, you should take a look. More importantly, we're running this like a true open source project now: we'll be developing GWT completely in the open, as per our project charter. More info on the GWT blog."

173 comments

  1. cool! by jrwr00 · · Score: 0, Redundant

    Yet Again Google is Da Bomb, Now people can have Ajax the is true cross boswer and open source, i see alot of OSS projects becomming Ajax now

  2. A step in the right direction... by clifgriffin · · Score: 5, Insightful

    While I'm sure purists will decry anything that promises to automate the process, I think we need more tools like this.

    One of the problems with designing easy to use functional web applications is that the web is really structured to support it. What you end up with is a difficult balancing act with interactions between server side code, javascript, and anything else in between.

    It's nice to see Google sharing some of the tools they use because let's face it...Google's web apps (in particular gmail) are very impressive.

    1. Re:A step in the right direction... by clifgriffin · · Score: 2, Informative

      That should read "the web isn't really structured"....

      Sorry.

    2. Re:A step in the right direction... by Bob+Gelumph · · Score: 0, Redundant

      Yeah, like scriptaculous, yahoo and a few other players already do.
      It's great and all, but not the only thing out there

      --
      I'm gonna need a spec.
    3. Re:A step in the right direction... by DrSkwid · · Score: 0, Redundant

      come off it, it's not that hard

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:A step in the right direction... by dsginter · · Score: 4, Interesting

      While I'm sure purists will decry anything that promises to automate the process, I think we need more tools like this.

      The problem isn't that these new tools aren't useful - they are. Rather, the "purists" seem to hate it when education is made on assumptions.

      For example,

      Switching theory is considered the "calculus" of computer engineering. And like calculus, it is being dropped from many undergrad curriculum with the assumption that software can best manage this aspect of microprocessor and other digital design. Those who graduate without this knowledge are basically standing on a foundation of assumptions. This is the proverbial "box" outside of which one is supposed to think.

      The purists are just quick to point out that one should never found their decisions on assumptions. In the GWT example, the purist will quickly point out that it is safe to use, provided that the user have the knowledge to work under the hood, when necessary. In my switching theory example, what will happen to microprocessing once we are up against the very laws of physics? This will happen in the near future and those who don't know the basics will not be able to go back to them in order to move us beyond such limitations.

      Back in the '90s, when Y2K was the big worry, the FAA went to IBM for reconciliation. IBM's response?

      "We'll have to replace the whole thing. There isn't anyone left who understands the entire system."

      --
      More
    5. Re:A step in the right direction... by Shados · · Score: 1, Insightful

      ::nods:: Well, since the current web standards are garbage, we need to abstract it. Either through toolkits that simply replace it (Flash, WPF, etc), or stuff that, again, abstract it (OpenLazlo, GWT, and so on).

      Someday, hopefully, all this cross-browser mess will be behind us.

    6. Re:A step in the right direction... by Mad+Merlin · · Score: 5, Insightful
      Well, since the current web standards are garbage...

      No, the current web standards aren't garbage. The browsers that don't even attempt to pretend to follow the standards are garbage (I'm looking at you, IE).

      The correct solution is to rip and replace IE, not the perfectly good web standards that it ignores.

    7. Re:A step in the right direction... by metamatic · · Score: 1

      My problem with the tool is the source language. Yes, developing GUI applications using web standards is painful--but writing Java is painful too. I suspect people would be more enthusiastic about it if it used Python or Ruby.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    8. Re:A step in the right direction... by Shados · · Score: 2, Interesting

      Matter of opinion i guess. Having done internal apps that had to take full advantage of "the perfectly good web standards" (thus picking a single standard compliant browser..it was internal after all), I'm not confused by the difference between Microsoft's crappy implementation, and the standards themselves.

      In my opinion (which i guess is what I had forgotten to specify), the web standards are garbage. Fully implemented or not. (And well, in some cases, IE isn't the only one to blame... Safari's javascript implementation, I'm looking at you...)

    9. Re:A step in the right direction... by Aladrin · · Score: 1

      'This is the proverbial "box" outside of which one is supposed to think.'

      Eh, no it's not. The 'box' is the set of standard notions that are currently accepted as the way to do things. 'Thinking outside the box' means to step outside current notions and use a new way to solve the problem, usually inventing that new way as you go.

      It has nothing to do with base-level systems or automation of those systems. It has nothing to do with the base level of education and whether or not it's basic enough.

      The only thing it even slightly has to do with that you mentioned is 'assumptions', and only those in the fact that there is an assumption that there's no other way to do it, and 'thinking outside the box' throws that assumption away.

      Besides that very wrong point, I completely disagree that learning the exact details behind processor theory is necessary to program efficiently. If the person is good enough, there will come a time that they will need to understand this information. Well, good enough and has the right job. Most of the time, this information is completely unnecessary. Especially since we are talking about web scripting, not kernel coding.

      Don't get me wrong. I love knowing the nitty-gritty details. They just don't matter a whit most of the time.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    10. Re:A step in the right direction... by Anonymous Coward · · Score: 1, Informative

      It's nice to see Google sharing some of the tools they use because let's face it...Google's web apps (in particular gmail) are very impressive.

      Look again: Google doesn't use GWT for any of their apps. Google bought GWT and open-sourced it.

      It's an interesting tool, but it's not what's behind GMail or Google Maps.

    11. Re:A step in the right direction... by Fozzyuw · · Score: 4, Funny
      Switching theory is considered the "calculus" of computer engineering. And like calculus, it is being dropped from many undergrad curriculum with the assumption that software can best manage this aspect of microprocessor and other digital design.

      This has always been one of my pondering points of Star Trek. Where, in the development of the Earth, did they find the time to 'educate' students on the likes of Calculus and 'general education requirements' while also being able to teach them the intricacies of Quantum Mechanics, deflector dish re-alignment, and power coupling re-direction, all by the age of like 18 and flying around on a star ship!

      Calculus was pretty difficult enough, let alone the difficulties of studying as a teen-age when the temptations of a holo-suit are sitting in your own 'dorm'. There's enough addiction in games like WoW, I cannot imagine what it would be like on the Enterprise. =D

      Cheers,
      Fozzy

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
    12. Re:A step in the right direction... by s4m7 · · Score: 4, Funny
      Eh, no it's not. The 'box' is the set of standard notions that are currently accepted as the way to do things.

      That's what you think the box is. I think it is an actual box, located 15 miles south of Champagne, IL.

      All kidding aside, please don't legitimize corporate doublespeak buzzwords by trying to claim they have an actual definition. It's an insult to those of us who are not marketroids.

      --
      This comment is fully compliant with RFC 527.
    13. Re:A step in the right direction... by breadbot · · Score: 2, Funny

      You mean Champaign , Illinois? I'm typing this from Urbana, right next door to Champaign (and just down the highway from storied Peoria), although as a child I lived in the the one and only Oblong, IL.

      Ha! A chance to be pedantic! How often does that happen?

      Auugh! No, not the off-topic button! The Midwest really does exist! It's made of peeeeeooople!

    14. Re:A step in the right direction... by abigor · · Score: 1

      There are orders of magnitude more programmers writing Java than Python or Ruby. Google knows the demographics of web development. Ruby in particular remains a small niche language.

    15. Re:A step in the right direction... by moogleii · · Score: 1

      ::shrugs::

    16. Re:A step in the right direction... by Tongo · · Score: 1

      I can't believe that I'm responding to this, but here goes...

      From what I remember, kids were learning calculus at age 8 (that episode were the kids were kidnapped by aliens that couldn't reproduce, or something like that). So my guess was that the human mind evolved to learn things faster/easier.

    17. Re:A step in the right direction... by Anonymous Coward · · Score: 0

      Complete, and utter, inaccurate bull$h1t.

    18. Re:A step in the right direction... by Aladrin · · Score: 1

      Oddly enough, before the corps got ahold of this, it was a phrase used by normal people to describe exactly what I just said. They use it to mean the same thing, but in a 'You WILL save a ton of money. Now.' sort of way, instead of a 'Hey Joe, that's amazing!' sort of way.

      Blame the corps for destroying our heritage instead of blaming me for supporting it.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    19. Re:A step in the right direction... by Anonymous Coward · · Score: 0

      ...what will happen to microprocessing once we are up against the very laws of physics?

      Simple, we will lose.

    20. Re:A step in the right direction... by John+Hurliman · · Score: 1

      In my switching theory example, what will happen to microprocessing once we are up against the very laws of physics?

      Then you'll need a grad student

    21. Re:A step in the right direction... by Tim+Browse · · Score: 1

      This has always been one of my pondering points of Star Trek. Where, in the development of the Earth, did they find the time to 'educate' students on the likes of Calculus and 'general education requirements' while also being able to teach them the intricacies of Quantum Mechanics, deflector dish re-alignment, and power coupling re-direction, all by the age of like 18 and flying around on a star ship!

      Star Trek is a work of fiction.

      HTH!

    22. Re:A step in the right direction... by FlyingCheese · · Score: 1, Funny

      Oh God, don't say that! You'll break the poor mans heart.

    23. Re:A step in the right direction... by Anonymous Coward · · Score: 0

      There is no article for 'Switching Theory' on Wikipedia, therefore it doesn't exist -- purist smurist...

    24. Re:A step in the right direction... by DragonWriter · · Score: 1
      So my guess was that the human mind evolved to learn things faster/easier.


      My guess is that in a few hundred years, the human mind didn't evolve much at all. OTOH, its probable that educational technology and methods improved, and the social conditions have changed in ways (such as the elimination of poverty) that reduce some of the drags on education in our world.
    25. Re:A step in the right direction... by milimetric · · Score: 1

      brilliant!

      You point out something subtly - the "purists" said the same thing when people stopped learning machine language and went straight to fancy languages like java and c#. Do you need to know how assembly is compiled into machine code then put into memory and fetched by the CPU (with lots of nop in the case of x86 :)? If you're working on your typical enterprise system no, you don't need to know that. It's nice because it gives you a big picture and something to talk about at the water cooler but I don't see anyone around that knows how to take square roots by hand and use abacuses.

    26. Re:A step in the right direction... by StikyPad · · Score: 1

      I'm sick of hearing all this crap about being addicted to the holodeck. What I choose to do in my free time is my choice. I simply choose to use the holodeck because it's cheap entertainment, and hey, at least I'm not out having an affair or spending all my money on booze! Besides, I'm interacting with other virtual representations of REAL PEOPLE, who love me and would never forget about me if I stopped playing tomorrow.

    27. Re:A step in the right direction... by rmerry72 · · Score: 2, Insightful
      Do you need to know how assembly is compiled into machine code then put into memory and fetched by the CPU (with lots of nop in the case of x86 :)?

      Actually sometimes you do. I remember a bug a couple of years ago that was traced down to the compiler incorrectly compiling a few lines of C++ code. Yup, a nasty compiler bug (hey, compilers a programs too). One of our guys not only detected this, hey found out why and how and wrote the embedded assembler to fix it. None of the rest of us knew assembler so we were in the dark.

      So, whilst you don't need to know such things in your day to day workings its good to have a familiarity with them so that when a problem like ours falls "outside of the box" (ie. compilers don't have bugs) you can grasp that thread of thought and follow it down to a solution, learning more intricate detail as you go. Else your quickly become stuck at "but compilers don't do that" and get nowhere to fixing your problem.

      Even though calculators are cheap and generally in easy reach it's still good to be able to do some math by hand. And even though third-level languages are prevalent, its good to get under the covers occasionaly so you understand what really happens not what's suppossed to happen.

      --
      We do not inherit the Earth from our parents. We borrow it from our children.
    28. Re:A step in the right direction... by aclarke · · Score: 1

      ...it is being dropped from many undergrad curriculum with the assumption that...

      I couldn't agree more. For instance, back in the day, any junior grammar school student would have known from latin class that the plural of "curriculum" is "curricula".

      Sorry, I really do agree, but I just couldn't resist being obnoxious ;-)

    29. Re:A step in the right direction... by Red+Alastor · · Score: 2, Informative

      You might be interested by this project that aims to create a tool just like GWT but for Python. http://pyjamas.pyworks.org/

      Their goal for 0.1 was all Google examples at least mostly working on Firefox and this is what they released. Their goal for 0.2 is all Google examples, completely working on all browsers.

      I wouldn't use it yet in my projects but I'll keep an eye on it. I tried GWT and despite being Java, it's very sweet. I'm eager to be able to do the same thing with python.

      --
      Slashdot anagrams to "Sad Sloth"
    30. Re:A step in the right direction... by Anonymous Coward · · Score: 0

      good lord darren ginter. This is how progress/evolution works. Levels below are simplified so that the next layer can be made. No one can know all information. It's always worked like this. It has less to do with "assumptions" than it does with re-use. Posts like this kill me.

    31. Re:A step in the right direction... by Blakey+Rat · · Score: 1

      I agree with you 100%. Look at CSS alone.

      CSS has multiple units of measurement, but it's impossible to do even simple math with them. For instance, I can't make a DIV 10em+10px wide. Why not?! Surely I can't be the only one on Earth who has thought of doing something so basic. Instead I have to enclose my DIV measuring in ems in another DIV measuring in pixels. Ridiculous. (And you can't pre-calculate the result because "em" varies based on font size.)

      Vertical centering in CSS is ridiculously difficult. I'm sure I'll get a hundred web developers telling me that vertical centering is a bad idea, yada yada, but that's not the point: The point is that using Tables for layout (the very thing CSS is supposed to replace), vertical centering is ridiculously easy. How did something ridiculously easy become ridiculously hard? How is it the replacement technology (CSS) doesn't even do everything the technology it's replacing (table layouts) does?

      I looked into CSS to update some old websites before basically just saying "screw it" and going back to good old Tables. Tables work all the time in every browser (almost), and are more powerful than CSS... the only downside is that they have to download a bit more data, but I'll take that tradeoff.

    32. Re:A step in the right direction... by milimetric · · Score: 1

      whereas I agree that the lower level situations arise, I would say your ability to think outside whatever box you are in is more valuable than the size of the box. I mean, if the problem is not in the assembler, maybe it's in the operating system. If not there, maybe it's in the drivers for the hardware you're working with, etc. You can't know everything, as the OP (star trek funny guy :) was alluding to. So the most valuable thing I think is when you come across a problem and your instinct says "compilers don't do that" you have to say, wtf, maybe they do.

      But another approach of course is to have lots of different people on a project that have different boxes, some lower level and some higher. And as a matter of fact most enterprises have just that approach.

    33. Re:A step in the right direction... by Jellybob · · Score: 1

      Sadly vertical centering *should* be easy. There's the "vertical-align" property, which in theory sets the vertical alignment, and even has the option of specifying "middle".

      But in their infinite wisdom it can only be applied to table cells, and inline blocks - I can understand table cells, but the last thing I want to be able to vertical align is inline blocks, which generally aren't tall enough to bother aligning.

    34. Re:A step in the right direction... by seanyboy · · Score: 1

      I appears that Google use java because it is strongly (i.e. statically) typed and that makes it easier for them to streamline the assembled code to only use those functions that are needed.

      From Here: The GWT will do static analysis of the code, and remove all methods that you don't actually call. We do very aggressive static analysis so that if you import a huge Java library, and only use one class, and one method within that class, we eliminate all the other code, and won't output [that] to the JavaScript.

      --
      Training monkeys for world domination since 1439
    35. Re:A step in the right direction... by Shados · · Score: 1

      Indeed. I'll save your face right now though: Vertical centering is only difficult because of poor CSS support. If IE supported display:table-cell, we'd be set. That still requires enclosing within an extra div something that should not require it though (doing margin-top:auto;margin-bottom:auto, in my opinion, SHOULD vertically center on its own, but it doesn't, by design).

      Still, vertical control in general is poor. You hit it right on the nail with the lack of expression support, too. Because of it, we have to use a ton of extra divs ---> the idea behind CSS is that you structure your document in HTML, then format it in CSS. But if you have to know your format in advance, it totally kills the point, and you might as well do the layout in HTML too.

      Now if a CSS guru reads this, they'll reply that CSS does -everything- they want and that they never had any issue. But from my experience speaking frankly with CSS gurus, the only reason CSS does everything they want, is that they learnt overtime not to be so difficult, and to only "want" specific things... I mean, when you can give a NAME to all the types of layouts you'll ever use, its because you don't want many different types :)

    36. Re:A step in the right direction... by angel'o'sphere · · Score: 1

      I suspect people would be more enthusiastic about it if it used Python or Ruby.

      No, the opposite is the case. Python and Ruby are dynamic typed languages, if you prefer those over Java you simply can use one of the dozens JavaScript toolkits.

      Also GWT is not only a GUI toolkit but also integrates client/server communication and the server side of the application. In case I missunderstood and you ment Python/Ruby as server technology, still thre are plenty of tools that are server agnostic. And if one likes it surely is easy to follow a similar approach GWT took and write a similar suit for python e.g. (I would guess it already exists one ... but I'm not intrested in Python so you better check your own ;D google is your friend)

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    37. Re:A step in the right direction... by angel'o'sphere · · Score: 1

      It's an interesting tool, but it's not what's behind GMail or Google Maps.
      Thats wrong.

      GWT is certainly behind GMail and also behind google forums. The question might be which version of GWT is used in GMail ...

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    38. Re:A step in the right direction... by Fozzyuw · · Score: 1
      OTOH, its probable that educational technology and methods improved, and the social conditions have changed in ways (such as the elimination of poverty) that reduce some of the drags on education in our world.

      Summed up

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
    39. Re:A step in the right direction... by abigor · · Score: 1

      Could be. But a lot more people know Java than Python or Ruby. It's a simple matter of looking at the job market. Java developers are in huge demand, particularly contractors. And since the most popular language for enterprise-class web apps and sites is Java, you maintain language homogeneity by using GWT - that's good, because you can use existing resources rather than having to train them or hire new ones to use Python or Ruby.

  3. Tapestry Integration? by chochos · · Score: 1

    Does anybody know how to use this toolkit along with Tapestry? We have a couple of web apps of considerable size now, done in Tapestry, and are in the process of adding some AJAX functionality. This looks like a great alternative but the web developer told me he hasn't been able to integrate these two frameworks.

    1. Re:Tapestry Integration? by Valdukas · · Score: 2, Informative

      If you are using Tapestry, depending on Tapestry's version it either has AJAX functionality built-in (v4.1) or available through add-on components (e.g. Tacos)

    2. Re:Tapestry Integration? by chochos · · Score: 1

      We've been using Yahoo UI. It's been fairly easy to integrate that with Tapestry, although I'm not aware of the details since I haven't been directly involved in the web development lately.

    3. Re:Tapestry Integration? by Anonymous Coward · · Score: 0

      Watch this blog: http://www.cleancode.com/blog/

      an article describing the minimum amount of work needed to integrate GWT modules with Tapestry 4.X is coming soon. The article is done and being checked over by colleagues now. Should be up today.

  4. Ready for professional use? by namityadav · · Score: 5, Interesting

    I mostly work on business layer / mediation tier, and have never been too good with the web tier. So GWT, at first, looked like a god-send to me. But after implementing my first GWT based test-solution, I realized that maintaining a GWT based solution will be many folds more difficult than a traditional Javascript based solution. So, my personal opinion is that although GWT is good for personal projects, it still needs to prove itself for professional development.

    1. Re:Ready for professional use? by Ritchie70 · · Score: 1

      So....

      What is it about GWT that makes it may folds more difficult?

      --
      The preferred solution is to not have a problem.
    2. Re:Ready for professional use? by david.given · · Score: 5, Insightful

      From what I've seen, the big advantages to using GWT are:

      • You get to write your logic in a language other than Javascript --- that is, one with type safety, compile time checking, sane syntax, and a reasonably consistent implementation.
      • You get to use the same form verification logic on the client and on the server, which means you don't have to implement it twice, which makes it much harder to get it wrong.
      • You completely avoid the horrific browser inconsistencies.
      • You get a real debugger.
      • For most tasks, the pain of connecting your front end to your back end is done for you.

      I wouldn't say that GWT is a particularly nice solution to the problem --- it's doing some pretty damned foul things behind the scenes, you should look at the code it generates some time --- but it hides the foulness rather effectively. It basically lets me get the job done far more easily than I could otherwise, which makes it valuable to me.

    3. Re:Ready for professional use? by namityadav · · Score: 2, Insightful

      Well, for one, the Javascripts produced by this tool are nowhere as simple and easy to understand as the ones written by the Javascript expert (Sitting in the next cubicle) who understands the product better. And how do you debug a problem now? First you'll have to find the problem in the automatically produced Javascript, then find out how that relates to your Java files that were used to produce the Javascript. What if the tool has a bug? It'll take you a very long time realizing that. Then, most of the times it's much more difficult to maintain a solution which depends on a framework producing files for you at compile time. And finally, how do you deal with mixing some manually written Javascripts with some GWT produced Javascripts? I am sure web-tier people can come up with more technical problems that they see in GWT based solutions.

    4. Re:Ready for professional use? by Dion · · Score: 1

      As far as I can tell it's 100% the other way around.

      GWT gives you one good language for all browsers.

      JavaScript gives you a terrible language that breaks differently in all browsers.

      So if you value a working, professional solution you will use GWT, if you just want something to play with and don't care about stability or compatibility then you can use JavaScript.

      To me it's not a choice between JavaScript and GWT it's between plain HTML and plain HTML + GWT, because JS is useless as it is.

      --
      -- To dream a dream is grand, but to live it is divine. -- Leto ][
    5. Re:Ready for professional use? by NoOneInParticular · · Score: 2, Insightful
      Then, most of the times it's much more difficult to maintain a solution which depends on a framework producing files for you at compile time.

      And how is this different from a compiler? Whether it's object files or class files, it's probably worse to debug the raw assembler/byte code then it is to wade through generated javascript. And yes, compilers make errors. Apparently, GWT is a compiler, with the only twist that it generates javascript rather than raw machine language or a (different) virtual machine. Find an error, file a bug report and trust that your compiler builder will fix the bug. In the meantime, write your logic differently so that the bug goes away.

    6. Re:Ready for professional use? by Anonymous Coward · · Score: 0

      Uhmmm...you do realise that GWT outputs JavaScript right? So without JavaScript your HTML + GWT is pretty fucking useless.

      JavaScript the language is great. There is little wrong with it. It's the browser's JS engine that is crap. The DOM model is what is broken. Idiot "web developers" who write IE only code is what makes JavaScript "break".

      Despite your low UID, it doesn't seem like you know what you're talking about. If you praise GWT while at the same time denouncing JavaScript then you're seriously confused.

      Indeed, if you can't write stable, secure, cross-browser JavaScript without the help of GWT in the first place, you shouldn't really be using it. (Or developing for the web, IMO)

    7. Re:Ready for professional use? by rucs_hack · · Score: 1

      is this java only, or can I use lisp?

    8. Re:Ready for professional use? by breadbot · · Score: 3, Interesting

      There's a good answer to that: the compiler can be invoked in two modes. Production mode generates compressed, obfuscated (as a side effect of compression) JavaScript, with function names like a3(). Development mode, though, generates incredibly verbose JavaScript, with Java packages and class names and method names visible everywhere, that is encredibly easy to trace back to your original code.

    9. Re:Ready for professional use? by fredrik70 · · Score: 1

      as sure as I am that GWT will be a godsend to AJAX apps I must inform you that any decent javascript developer out there would surely use one of the javscript framwork (mochikit for all python lovers - check it out!, dojo, YUI, prototype, etc) to handle browser incompabilities. Javascript, when used properly is a language that's the dog's bollocks, just a pity it's so damn easy to blow off you foor plus wipe out your entire family with it, ho-hum.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    10. Re:Ready for professional use? by homotron · · Score: 1

      what do you mean by maintaining? Most people hate dealing with javascript for the reason that it is highly unmaintainable, and that would seem to be GWT's main advantage. Java developers doing Java, not html/javascript.

    11. Re:Ready for professional use? by larry+bagina · · Score: 2, Insightful

      having debugged both "raw assembler/byte code" and obfuscicated javascript/generated perl/etc, I find it easier to debug binary code. With assembled code, you can specifically pinpoint an error. With intepreted half languages, the error may be in the compiler, the javascript interpreter, the javascript libraries/dom support, JIT compiler, etc, etc.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    12. Re:Ready for professional use? by larry+bagina · · Score: 2, Funny

      The Macintoth port allowth you to talk with a lithp.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    13. Re:Ready for professional use? by david.given · · Score: 1

      is this java only, or can I use lisp?

      Yes.

    14. Re:Ready for professional use? by rucs_hack · · Score: 1

      ooh! thanks for that

    15. Re:Ready for professional use? by Dion · · Score: 1

      Well, writing in JS vs. Java (GWT) is like writing in assembler vs. C++; sure you can write in assembler or JS and with large enough libraries you might even get a product working in the end, but why would you do that?

      The problem with JS is not limited to different browsers, the language itself is broken, there is no type safety (even perl has more type checking), no reuse model, no tools (like a debugger).

      JS is the assembler of browsers, it should have been bytecode, but SUN screwed that up by not going Open Source in time.

      I'll continue to claim that JS is useless, at least if you want to get the work done without losing your sanity.

      --
      -- To dream a dream is grand, but to live it is divine. -- Leto ][
    16. Re:Ready for professional use? by fredrik70 · · Score: 1

      oh, wouldn't say JS is useless! it got some really cool features actually (funcrtions as objects, dynamically assigning new members or functions to an object), type checking is a problem, but there are ways to check types when comparing for example (use the '===' comparator), worse problem is that the 'this' reference in a class might not refer to the class instance, but this can be worked around using mochikit for example.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    17. Re:Ready for professional use? by Dion · · Score: 1

      No JS is not useless, it is about as usable as Assembler.

      My point is that JS /can/ be used, it's just that it's much nicer when you can use a higher level language with better tool support in stead.

      --
      -- To dream a dream is grand, but to live it is divine. -- Leto ][
    18. Re:Ready for professional use? by Ritchie70 · · Score: 1
      I'm obviously tweaking you a little, and this is almost certainly a less mature product than a proper compiler, but if you change a few words....
      Well, for one, the assembly instructions produced by this tool are nowhere as simple and easy to understand as the ones written by the assembly expert (Sitting in the next cubicle) who understands the product better. And how do you debug a problem now? First you'll have to find the problem in the automatically produced assembly, then find out how that relates to your C files that were used to produce the assembly. What if the tool has a bug? It'll take you a very long time realizing that. Then, most of the times it's much more difficult to maintain a solution which depends on a framework producing files for you at compile time. And finally, how do you deal with mixing some manually written assembly instructions with some compiler produced assembly instructions? I am sure assembly experts can come up with more technical problems that they see in compiler based solutions.
      --
      The preferred solution is to not have a problem.
  5. Good Job Google. by FictionPimp · · Score: 0

    Good job google. I liked the kit before. I'm sure I will like it better now.

  6. Kudos on the licenses by Anonymous Coward · · Score: 4, Insightful

    I am glad to see smart companies and developers using developer friendly licenses like Apache and Mozilla. I've been burned early in my career by using the GPL and I'll never do it again for any software I write. I hope more developers use good solid community licenses like Apache 2 and MPL.

    1. Re:Kudos on the licenses by ben+there... · · Score: 1

      As someone who has contributed bits and pieces of code here and there, and considering some bigger ideas to be released as GPL, I'm interested in why you'd prefer Apache 2 and MPL. It's all rather murky to me what the differences are. Mind elaborating?

    2. Re:Kudos on the licenses by Anonymous Coward · · Score: 0

      How does the GPL burn you for your own code?

    3. Re:Kudos on the licenses by maxume · · Score: 2, Informative

      If you are in a situation where you are working on a code base that you initiated but it has become a 85% you, 15% contributed situation, your ability to 'go binary' becomes pretty limited, depending on how that 85% is spread about. That's the point of the GPL of course, but if you start using it without realizing the implications, I can see how you would feel burned.

      --
      Nerd rage is the funniest rage.
    4. Re:Kudos on the licenses by david.given · · Score: 3, Interesting

      As someone who has contributed bits and pieces of code here and there, and considering some bigger ideas to be released as GPL, I'm interested in why you'd prefer Apache 2 and MPL. It's all rather murky to me what the differences are. Mind elaborating?

      If I'm a company, then if I use GPL software, I cannot modify it. This rather defeats the purpose of using open source software.

      The reason why I can't modify GPL'd software is fairly simple: releasing in-house software as GPL is expensive. It requires legal oversight to make sure that we can relicense it, it requires infrastructure to allow us to give customers access to it, it requires us to support those customers --- if you're a real company, you can't get away with telling customers to piss off when they ask you questions --- it requires us to religiously differentiate between the GPL'd code and the non-GPL'd code to prevent license poisoning, and above all, it requires the process to manage the above. Using GPL'd software involves an entire management chain from legal downwards. Using BSD software doesn't.

      Frequently, it's not worth the effort. It would be cheaper for us to find some sub-par non-GPL code and fix the bugs, or to write our own version from scratch. When I'm wearing my corporate hat and I'm looking for code, I'll frequently not even bother looking at it if it's GPL'd.

    5. Re:Kudos on the licenses by Anonymous Coward · · Score: 5, Informative

      GPL primarily has distribution restrictions. If you are just using modified GPL code internally, that is not a problem. If you are re-distributing (selling) the software, you need to provide the source code, including your modifications. I don't see the problem.

      Your company doesn't want to "support" the software? Why would anyone want to purchase software from your company?

    6. Re:Kudos on the licenses by Anonymous Coward · · Score: 0

      If you wrote the code yourself (and not for an employer), you own it. The fact that you released it under the GPL doesn't stop you from releasing it under any other license on earth. Of course, you can't use anybody else's code that's released under the GPL, and change its license, unless all copyright holders of that particular code agree. In case that's your own code, all you have to do is agree to give yourself the right to release the code under another license :) .

    7. Re:Kudos on the licenses by marcosdumay · · Score: 1

      Who still mods this up? This guy is affraid of using GPLed code inhouse because he can`t send it to his customers!!! Not quite inhouse...

      Just to clarify. Using GPLed code inhouse is perfectly clear (unless you got problems with patents). You need no metodoly, or legal team, or anything, just use the code. Now, when you want to DISTRIBUTE closed source programs, well, make sure you are selling your own code.

    8. Re:Kudos on the licenses by Peter+La+Casse · · Score: 1
      Using BSD software doesn't.

      Your parent poster didn't ask about the BSD license, they asked about the Apache license and the MPL, which seem to be the same the GPL from your point of view. Do you prefer them over the GPL? If so, I too would like to hear your reasoning.

    9. Re:Kudos on the licenses by Anonymous Coward · · Score: 0

      Umm... you seem to be confusing two issues. Releasing your own code as GPL and using someone else's GPL'ed code. Yes, releasing your own code means you need legal infrastructure to make sure the code conforms properly - but you need that regardless of the license. Furthermore, as you mention yourself, you need to support your software - this is regardless of whether or not it's GPL'ed.

      If you're using someone else's GPL'ed code, as others have mentioned, you generally don't need to redistribute if it's strictly in-house (talk to a lawyer about any caveats - IANAL). Furthermore, if you're worried about linking to the GPL'ed code, then just slap on a COM or C wrapper and dynamically discover the interface of the library - thereby you only need to redistribute modifications to the GPL'ed code while your own code can stay proprietary (if you don't want to redistribute your changes, then you are basically mooching off of the work of others and not contributing back to the community, which is exactly what GPL's goal is to prevent).

      Basically, you're whole post is FUD - I've seen plenty of GPL code being used by proprietary companies with no need for additional legal or support infrastructure.

    10. Re:Kudos on the licenses by Anonymous Coward · · Score: 0
      The reason why I can't modify GPL'd software is fairly simple: releasing in-house software as GPL is expensive. It requires legal oversight to make sure that we can relicense it

      But you can change the license on non-GPL software with no legal oversite?

      it requires infrastructure to allow us to give customers access to it

      But somehow you can release non-GPL without a distribution infrastructure?

      it requires us to support those customers

      But when it's non-GPL you can just say piss-off?

    11. Re:Kudos on the licenses by Eivind · · Score: 1
      It depends. If you want to "go binary" you need to either remove those 15%, or get the people who contributed those 15% to agree to some other license.

      Whenever you accept any code from other people, you need to pay attention to what rigths you get to that code. If you want to take the result proprietary -- you need to convince contributors they should send you patches under a license that allows you to do whatever the heck you want with them. I'm sure I'm not the only programmer who wouldn't even consider agreeing to that unless you paid me to do so.

      Why should I (or anyone) spend free time improving your proprietary product ?

    12. Re:Kudos on the licenses by maxume · · Score: 1

      I was just pointing out why they might 'feel' burned, but yeah, they burned themselves by not understanding the implications of what they were doing.

      I don't think anybody should spend time doing anything they aren't willing to do.

      --
      Nerd rage is the funniest rage.
  7. Just as Sun release Java SE 6 by badzilla · · Score: 1

    I'm not that knowledgeable about Java but do the bells+whistles in this new release overlap with what GWT does?
    http://java.sun.com/javase/6/

    --
    "Don't belong. Never join. Think for yourself. Peace." V.Stone, Microsoft Corporation
    1. Re:Just as Sun release Java SE 6 by nuzak · · Score: 2, Informative

      There is no overlap. In fact, the GWT only works with the Java 1.4 subset of the language (though you can run it on any 1.4 and up JVM, you just have to use -source 1.4). No generics, no enhanced looping, etc.

      Java 6 SE includes Rhino (without E4X) which I suppose could be used as a target of the GWT for the server side, but it seems a tad pointless except maybe for validation of generated code.

      --
      Done with slashdot, done with nerds, getting a life.
    2. Re:Just as Sun release Java SE 6 by Anonymous Coward · · Score: 0

      Disclaimer: A former java guy, now working in Redmond (posting anonymously from the job). Almost all Java dev on the server side takes place on 1.4.2-level syntax. In fact, with JDK 1.4.2 you can still have -target 1.1 with 1.4.2-level syntax. That switch prevents the compiler from inlining constants, which is important if you ever change any constant - you won't have to redeploy all .class files (or jars). Of course, you should NEVER change a constant, just add new ones - especially true in the OSGI-like world for instance.

    3. Re:Just as Sun release Java SE 6 by nuzak · · Score: 2, Interesting

      > Almost all Java dev on the server side takes place on 1.4.2-level syntax.

      Sadly true ... most java dev is using hopelessly archaic junk. Thank god my Java projects aren't driven by glacial rollout schedules and fear of new things, so I quite happily use things like Seam, which is chock full of Tigerisms like annotations. It's the only I can get myself to stand working in Java at all.

      I suspect a platform like .NET that carries less encumbrance of big legacy deployments must be a bit more liberating. I suppose it all depends on the work environment.

      --
      Done with slashdot, done with nerds, getting a life.
  8. Good news... by gigne · · Score: 1

    It is good news that more open source toolkits are becoming available, I would love to check this out...

    the problem is the demos don't seem to work in Konqueror (3.5.5) although I am not surprised. Funnily enough I have problems with Gmail in Konqueror, it freezes, and some of the features just don't work.

    It would be nice to see some patches against GWT to support these browsers, now it's open, we can.

    --
    Signature v3.0, now with 42% less memory usage.
    1. Re:Good news... by jrwr00 · · Score: 0

      Signature v2.0, now with AJAX, LAMP, and a load of other useless acronyms
      Well, now your signature can really have Ajax! :P

    2. Re:Good news... by Anonymous Coward · · Score: 0

      This is most likely because Konqueror's xmlHttpRequest is buggy as anything. I know UTF characters don't work properly (at least pre 3.5, I'm a bit behind now), and it does some very strange things to the POST back like sticking a random extra null byte on the end of every POST request that has no right to be there. It also maps response codes differently (for instance When you get a response from XHR and you use cache and content isn't changed, the server responds with a 304 status code. Mozilla and IE translate this to a 200 and from 3.4.2 or 3.4.3 khtml does that conversion on a async XHR, but not a sync one. Doubtless there are others. This is why GWT is such a good idea in principle - you can simply add this sort of stuff into the renderer and never have to worry about it again

  9. Dang it. by Anonymous Coward · · Score: 2, Funny

    Stuff like this makes me wish I could code. :(

  10. Only if you promise to think about the irony by Ed+Avis · · Score: 5, Funny

    So... you can write your application in Java, but then compile it to Javascript to run inside a web browser?

    --
    -- Ed Avis ed@membled.com
    1. Re:Only if you promise to think about the irony by Joebert · · Score: 1
      Yeah, I thought that was funny too.
      Here it is from the horses mouth.

      ... and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.
      --
      Wanna fight ? Bend over, stick your head up your ass, and fight for air.
    2. Re:Only if you promise to think about the irony by RAMMS+EIN · · Score: 1

      ``So... you can write your application in Java, but then compile it to Javascript to run inside a web browser?''

      Exactly. And get kludgy workarounds for things that HTML wasn't designed to do, but that work just fine in Java applets.

      --
      Please correct me if I got my facts wrong.
  11. Darn internet by Anonymous Coward · · Score: 0

    I'm only 23, yet I feel like a dinosaur. I liked the good ol' days where you coded everything yourself from the ground up as a one man operation, and there was no boring HTML, fluffy Java, or crazy XML. *sniff* I can't be assed with web coding, it all seems so dull and repetitive.. I'm tempted to start learning something like Ruby on Rails, as web coding is still better than no coding, and I'm going to be writing a database driven web app for work again soon.. but bleh.. the WWW is in a way the greatest thing to happen to computing in the last few decades, but also, in the end, the most boring to work with! This isn't a troll, just a rant..

    1. Re:Darn internet by Anonymous Coward · · Score: 0

      ...the WWW is in a way the greatest thing to happen to computing in the last few decades, but also, in the end, the most boring to work with! This isn't a troll, just a rant..

      That's kind of the way I felt about C++. More power, less Zen.

      I'd rather have the Zen, personally, but it's not up to me.

  12. Yes please :) by growse · · Score: 2, Interesting

    I've always been of the "build it yourself" philosophy in the past, when I first coded my website (4 years ago), I built the blog, the guestbook, the cms, everything. I don't have a CS degree, and this proved to be a valuable way to learn some programming skills.

    Even today, I start new projects, I look at existing offerings, reject them and try and put it together myself. I'm currently some way through building an AJAXy online photo-management tool. It's fun stumbling across a bunch of unanticipated problems and figuring out how to fix them. At the end of the day though, with this particular project, I just want something that's asynchronous, but as reliable and cross platform as gmail.

    When the people who make the application whose standards you're trying to match release a toolkit that helps you do that, I'm having me some of that.

    --
    There is nothing interesting going on at my blog
    1. Re:Yes please :) by mattwarden · · Score: 1

      So, um, how does using GWT to avoid browser quirks and the need to know JavaScript fall in the "build it yourself" philosophy?

    2. Re:Yes please :) by growse · · Score: 4, Interesting

      It doesn't. You missed the point. I tend to think in the "build it yourself" mindset, but I don't write my own compiler, or my own XML parser plugin for Perl. Sometimes, it just doesn't make sense to build something when there's a tool out there that helps you achieve the ultimate goal. Sure, I don't learn about how to get around browser specific JS bugs with the GWT, but on the upside, I get to learn Java. Bigger benefit.

      --
      There is nothing interesting going on at my blog
    3. Re:Yes please :) by Anonymous Coward · · Score: 0

      And voilà. You, sir, are certain to go further in this industry than the poster to whom you were replying. Keep it up!

    4. Re:Yes please :) by mattwarden · · Score: 0

      No, I didn't miss the point. I just don't see how this is any different than a normal development mindset. The implication was that "build it yourself" was a different mindset.

    5. Re:Yes please :) by growse · · Score: 1

      I don't think I said it was different as though it were something magical that I'd stumbled across whilst looking for the fairies.

      Now that you mention it, I'd say it's fundamentally different from the scores of people I see downloading toolkits and libraries to do every single thing they need, and then trying to patch it horribly together. I see this every day, and I see people trying to troubleshoot this sort of thing every day.

      Also, I wouldn't say there's a "normal" development mindset either - some people like to build everything themselves, some people like to re-use other people's code as much as possible, others prefer a more middling route. The "should we build it ourself vs should we let someone else do this bit" is a huge debate that applies to many areas of both development and just general business practices. I'm a "build it yourself" person, but my point was that I can see that something like the GWT is silly to ignore, unlike, say, the hundreds of different CMS's that exist. These I can safely ignore, given that I've built something that works better for my needs, and is more maintainable by me.

      --
      There is nothing interesting going on at my blog
    6. Re:Yes please :) by mattwarden · · Score: 1

      Like most every other debate, both sides are wrong. The answer to "should I build it myself or buy COTS?" is "Whichever is cheaper." You decided that building your own CMS is cheaper than using a free one due to maintenance costs. If this is the case, you made the right decision. But the problem most software developers have is that they turn this into a blanket decision. It really shouldn't be a "mindset". If it is, the implication is that you're sometimes biased against choosing the cheaper solution.

  13. Umm... by Phil+John · · Score: 1

    Um..correct me if I'm wrong, but doesn't Google use this to power some of their web-apps?

    --
    I am NaN
    1. Re:Umm... by hclyff · · Score: 1

      I think right now they use mostly Python, but I wouldn't be surprised if some Java GWT based projects were underway.

    2. Re:Umm... by EvilKevin · · Score: 5, Informative

      Yes, we do use this in some of our apps, the most recent of which is described here: http://googlebase.blogspot.com/2006/12/plastic-sur gery.html

  14. Um ya...... by jrwr00 · · Score: 3, Informative

    Found this under the GWT FAQ:

    Does Google Web Toolkit send any information about me back to Google's servers?

    When you use the Google Web Toolkit's hosted web browser, the application sends a request back to Google's servers to check to see if you are using the most recent version of the product. As a part of this request, Google will log usage data including a timestamp of the date and time you downloaded the Google Web Toolkit and the IP address for your computer. We won't log cookies or personal information about you, and we will use any data we log only in the aggregate to operate and improve the Google Web Toolkit and other Google Services. Please see the Google Privacy Policy for more information.

    1. Re:Um ya...... by whargoul · · Score: 1

      And your point is?

    2. Re:Um ya...... by jrwr00 · · Score: 0

      It's Sending Usage Infomation back to google

    3. Re:Um ya...... by MindStalker · · Score: 1

      When you use the "hosted web browser" Oh noooes.

    4. Re:Um ya...... by Anonymous Coward · · Score: 4, Insightful

      You have the sources, so you can just cut out that functionality.

    5. Re:Um ya...... by lukateake · · Score: 1

      For the record, the "hosted web browser" is only used during the development cycle and even then it's optional. And your post's title and tone are reckless.

  15. Wither AJAX by Anonymous Coward · · Score: 1, Insightful

    With Java 7 under GPL, why would anyone develop an AJAX application instead of a signed Java applet? The reasons Java applets never took off were security concerns and limited consumer bandwidth. Both of these are less of a concern now and no more of a concern than running rich apps directly in the browser.

    Time to make like it's nineteen-ninety-eight. Again.

    1. Re:Wither AJAX by Shados · · Score: 1

      Well, lack of needing a plugin for one. And making an applet that have ajax functionalities probably require some socket connections or something. Much much larger memory footprint, etc.

      There's a ton of reasons.

    2. Re:Wither AJAX by chill · · Score: 5, Insightful

      No, the reason Java didn't take off for web stuff is the massive hit you take when first firing up the JVM. The first time the JVM initializes you can add 3-10 seconds to the web page load. It also chews memory disproportional to what it was used for -- little applets.

      Don't get me wrong, for larger programs and projects Java can be an excellent tool. When you fire up the JVM with system boot, or once a week or so, then no problem. But using Java to give you an automatic clock, roll-over buttons, or pretty water effects on pictures is just wrong on so many levels.

      --
      Learning HOW to think is more important than learning WHAT to think.
    3. Re:Wither AJAX by whargoul · · Score: 2, Informative

      With Java 7 under GPL, why would anyone develop an AJAX application instead of a signed Java applet? The reasons Java applets never took off were security concerns and limited consumer bandwidth. Both of these are less of a concern now and no more of a concern than running rich apps directly in the browser.

      Time to make like it's nineteen-ninety-eight. Again. I avoid Java applets as much as I can. Not because of security or bandwidth, but because they take so damn long to load and often cause the browser (IE or FF) to freeze until they're done loading.
    4. Re:Wither AJAX by iabervon · · Score: 4, Insightful

      Because it's really hard to write a Java applet that doesn't break user expectations for content inside the browser window. If you do it all with a Java applet, you break the "text size" menu items, the back button, bookmarks, the print menu item, and so forth. If you use AJAX correctly, all of these work (better even than without AJAX, because it makes "next" and "previous" buttons on a big list act like scrolling through it, rather than being additional history items). People want to use web sites like web sites, but with extra-clever controls, not like desktop applications. Java applets are inherently objects embedded in web pages, not integrated with the browsing interaction.

    5. Re:Wither AJAX by zlogic · · Score: 2, Interesting

      When you need a 12-meg download to run a 160k applet, users will probaply turn away. Remember how it was difficult to redistribute .NET Framework apps because noone would install a 50 meg library just to run the small program they've downloaded? Or even worse, requiring asministrator priveleges, the latest service pack and Internet Explorer to be installed? That just like the problem when nobody writes Linux games because there aren't a lot of Linux gamers because there aren't a lot of Linux games.
      And big Java applications like Matlab and Maple and Oracle JDeveloper keep their own version of JRE installed which is invisible to other apps, something to do with compability. That's right, I have 4 independent copies of JRE: one for Maple, one for Matlab, one from JDK and one for everything else.
      What I'm trying to say that until Java gets installed on every PC out there, it would be hard to convince users to install it. However since Microsoft seems to be abandoning ActiveX Java has a chance.

    6. Re:Wither AJAX by aeoo · · Score: 1

      I agree that it's always good to keep our eyes open. Applets might have had problems in the past, but since then Java has not stood still.

      The advantage of an applet is that it's more cross-platform for what it can do (I know that "hello world" in Javascript is very cross-platform, but who cares about that shallow level of compatibility?). Now with the new license Java will be 100% friendly to all environments without exceptions (including all open source OSes).

      I think you have a point. Yet Javascript is also moving forward, and considering you get it for no-perceived-additional-download-cost, it's pretty good.

    7. Re:Wither AJAX by codemachine · · Score: 1

      I see you too have been to a webpage where it waits to load a big JVM, and all that comes up in the grey java box in the end is an animated image with a water efffect. And you have to wonder why they chose Java instead of an animated .gif or something.

      It is all about the right tool for the job. Loading an entire virtual machine to display an animation was not a good use of Java. But Java applets would be very useful if Java were built in to most browsers instead of a large plugin.

      Heck, if Java were built directly into browsers, you could conceivably have plugins written in Java. Meaning one class file would could potentially work on all platforms. No more x86 or Windows only Firefox plugins for PDF and Flash (assuming Adobe would get on board with that).

    8. Re:Wither AJAX by Anonymous Coward · · Score: 0

      Yep, and the next most biggest problem after that is people not having the JVM installed, or not installed correctly. You'd think that this would no longer be a problem, but I inherited a website that uses Java applets for menus and what-not, and to this day I still get emails from people complaining that the menus are missing. I can't wait until I get this site cleaned up.

    9. Re:Wither AJAX by larry+bagina · · Score: 1

      Sun used to have a web browser (Hot Java) written in java that allowed that sort of thing. It was like Mosaic/Netscape 1, but slower and uglier.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    10. Re:Wither AJAX by DragonWriter · · Score: 1
      With Java 7 under GPL, why would anyone develop an AJAX application instead of a signed Java applet?


      You know anyone who accesses your webpage will have a browser. Its likely that they will be able to active JavaScript in their browser if they need to. Its less likely that they will have a JVM installed or have the permissions need to install a JVM; plus a JVM install takes considerably more time than loading some JavaScript.

      The reasons Java applets never took off were security concerns and limited consumer bandwidth.


      The reason Java applets never took off were incompatible Java implementations (thanks, Microsoft!) and the fact that you couldn't assume people had Java when they visited your webpage. The former problem is mostly a thing of the past as a major factor, the latter is, however, not.
    11. Re:Wither AJAX by WamBamBoozle · · Score: 1

      The idea was to have Java already running. One JVM per machine. Netscape got this right.

  16. "JavaScript's lack of modularity" ? by bcrowell · · Score: 1

    Can anyone explain what they mean in TFA by "JavaScript's lack of modularity?" AFAIK, javascript is a pretty standard (prototype-based) OO programming language, and I don't understand what's not modular about it.

    1. Re:"JavaScript's lack of modularity" ? by Shados · · Score: 1

      The OO features are kind of lacking in it, or tend to be annoying to use. Certain toolkits "fake" it, thus adding all the missing features. Its kind of cool.

    2. Re:"JavaScript's lack of modularity" ? by great+throwdini · · Score: 1

      Certain toolkits "fake" it, thus adding all the missing features. Its kind of cool.

      No, usually, it's done (within these 'toolkits') in a half-arsed fashion that tend toward extended exercises in obfuscation.

      I guess that's a kind of cool.

    3. Re:"JavaScript's lack of modularity" ? by curunir · · Score: 2, Informative

      The modularity lacking in Java is packaging and importing. As another poster mentioned, toolkits create the illusion that JavaScript has these, but it really doesn't. Somewhat less important is that there really isn't a true inheritance model. You can inherit another object's prototype, but that doesn't give you the same flexibility as true inheritance.

      --
      "Don't blame me, I voted for Kodos!"
    4. Re:"JavaScript's lack of modularity" ? by dedazo · · Score: 1
      The Dojo Toolkit is a good, real world example of how JavaScript is lacking in modularity - imports and references have to be hacked.

      Having said that, it's still a fact that we're using JS in ways the original designers probably didn't envision, although I must say that from a basic design standpoint JS is certainly impressive. You're still running within the constraints of the browser, which mostly treats scripts as a sort of annoying necessity rather than an integrated part of the client experience.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  17. GNU GPLv3 will be compatible with the Apache 2.0 by YA_Python_dev · · Score: 1
    I am glad to see smart companies and developers using developer friendly licenses like Apache and Mozilla. I've been burned early in my career by using the GPL and I'll never do it again for any software I write.

    I don't agree with you on this, but FYI the GNU GPL version 3 will be compatible with the Apache 2.0 license. See this RMS transcript from the Free Software Foundation Europe. The combined GPLv3+Apache2 work can be released under the GPLv3+"patent termination protection" license.

    If people think that the GNU GPLv2 is viral wait until everyone realise what are the implications of the GPLv3 new compatibility! And, yes, this is one of the many reasons why I really like the GPLv3.

    --
    There's a hidden treasure in Python 3.x: __prepare__()
  18. Devil's Advocate by wralias · · Score: 5, Informative
    From TFA:
    Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.
    Anyone who has done heavy work in JavaScript can attest to it's modularity; in fact, it is a very beautiful, expressive, and misunderstood language. Some folks claim that it is not object-oriented - but that is simply not true. It supports inheritance, static members, etc. - you just have to conceptualize them differently. I hesitate to trust the output or business logic of a program that "compiles" in javascript from another language, even if it is something so similar syntactically as Java is. I guess if you don't know JavaScript and you're uncomfortable with browser quirks, and you are a Java person, then this framework is for you. Bad news, though - you'll still need to figure out CSS, and that is a mind-fuck in and of itself.
    1. Re:Devil's Advocate by Anonymous Coward · · Score: 1, Insightful

      I agree about JavaScript being misunderstood. Too many people have done *only* linear progrmaming with JS. It would be like judging C++ without ever writing a class. *Of course* people think JS is a messy, disfunctional language if all they've ever used it for was to alert some text, confirm a delete button, and add two form fields together.

    2. Re:Devil's Advocate by abes · · Score: 5, Insightful

      It's a first that I've seen someone call Javascript beautiful. Javascript, for what it was first conceptualized for, got the job done (back when it was Livescript). The misunderstood part of Javascript, is that it is prototype-language, which is unlike most other languages. That is, you can create object types on the fly due to how the associative arrays work. foo.bar is the same as foo['bar']. From that you can get all the OOP you want (note: although Python is much more of an OOP'd language, it can also be used as a prototype-language).

      But this is definitely where the beauty is in the eye of the beholder comes into play. Is this some quick syntactical sugar that gives the impression of structure, or is there indeed a well thought out design to the language. Of course, the fact it's been a slowly evolving/hacked together language would point more towards the former in my book.

      Personally, I've never been a fan of the Javascript method of doing things, and prefer a much stronger structure in the language. Python does a great job of it, I like what little I've seen on Ruby (especially Rails), and there is of course my personal favorite C++ (yes, flame all you want, but *know* the language first before you complain about it).

      Prototyping languages, from what I've seen so far, are great for hacking together small projects, but get messy when you try to do anything on a larger scale. This is where strong language structure comes nicely into play.

      While Java is not my favorite language (I usually refer to it simply as, 'that bastardized c++ language'), I am excited about trying this out. I'm curious as it will compare against RoR, Django, etc. The prospect of being able to write a well maintained library for web interfaces that is easily extendable is a much worked on and much needed item in the world of webs.

    3. Re:Devil's Advocate by marcosdumay · · Score: 1

      They aren`t quite objects if you need to conceptualize them in a different way...

      But Java Script offers something that RESEMBLES objects. And can be a mess to deal with when people start to use variables without declaring them, because the language doesn't make the scope clear.

    4. Re:Devil's Advocate by Anonymous Coward · · Score: 0

      You sir, are an idiot.

    5. Re:Devil's Advocate by Anonymous Coward · · Score: 0

      I hesitate to trust anyone that cannot discern the difference between it's and its.

    6. Re:Devil's Advocate by macshit · · Score: 2, Informative

      They aren`t quite objects if you need to conceptualize them in a different way...

      The phrase "object oriented" does not refer to single implementation technique, it refers to a general category of languages. Perhaps the majority of people are more familiar with C++/java style class-based designs, but there are many others. One of the most famous (in the research community at least) is "prototype based" languages, of which the "Self" language is the most well-known example. Javascript, it would seem, is a Self-style prototype-based language.

      --
      We live, as we dream -- alone....
    7. Re:Devil's Advocate by batkiwi · · Score: 1

      "Anyone who has done heavy work in JavaScript can attest to it's modularity;"

      I don't think you understand what they're talking about. You cannot package javascript up in a module which ensures that there will be no namespace collisions, and there is no way to specify which "DoSomething()" you mean... the last declared is king.

      People work around it by doing things like MYPACKAGE_ and the like, but there is still no way to import, remove, or specify which method/class you want if there is a namespace collision.

    8. Re:Devil's Advocate by kubalaa · · Score: 3, Insightful

      You cannot package javascript up in a module which ensures that there will be no namespace collisions Sure you can, if you are willing to accept the risk of collisions in module names (after all, what happens if two Java packages use the same name)?

      // define a new module
      org_slashdot_moduleX = new function() {
      var module_private_variable = ...
      function private_function() {
      ...
      }
      this.public_function = new function() {
      ...
      }
      } // end module org_slashdot_moduleX
       
      // import the module as "mX":
      var mX = new org_slashdot_moduleX();
      mx.public_function();
      You can even parameterize modules to create ML-style functors.
      --

      "If you look 'round the table and can't tell who the sucker is, it's you." -- Quiz Show

    9. Re:Devil's Advocate by RAMMS+EIN · · Score: 1

      ``Personally, I've never been a fan of the Javascript method of doing things, and prefer a much stronger structure in the language. Python does a great job of it, I like what little I've seen on Ruby''

      Did you know that Ruby and Python implement objects on top of hash tables? That's not too different from how JavaScript does it. I don't know if the same is true in Python, but in Ruby you can freely add methods to classes and even single objects, making it just as unstructured/flexible as JavaScript.

      ``Prototyping languages, from what I've seen so far, are great for hacking together small projects, but get messy when you try to do anything on a larger scale.''

      Accepting that, and considering what JavaScript was created for, the designers made the right choice.

      --
      Please correct me if I got my facts wrong.
  19. So much for don't do evil, eh google? by Anonymous Coward · · Score: 0

    Leave it to google to make their software unfree by going with the Apache 2.0 license.

  20. Debugging by da_flo · · Score: 3, Interesting

    And how do you debug a problem now? First you'll have to find the problem in the automatically produced Javascript, then find out how that relates to your Java files that were used to produce the Javascript. What if the tool has a bug? It'll take you a very long time realizing that.
    Well, according the the GWT website, that's not true. One of the big advantages of GWT, or so is it advertised, is that you can develop *and* debug your app directly in Java, not having to mess with the Javascript at all.

    From the GWT overview :

    Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler to translates your Java application to browser-compliant JavaScript and HTML.

    Here's the GWT development cycle:

    1. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.
    2. Use GWT's Java-to-JavaScript compiler to distill your application into a set of JavaScript and HTML files that you can serve with any web server.
    3. Confirm that your application works in each browser that you want to support, which usually takes no additional work.
  21. ZK by Dan+Farina · · Score: 2, Informative

    This is good news, but I would highly suggest anyone looking at a tool such as GWT also look at ZK ( http://www.zkoss.org/ ).

    While not technically competitors (GWT is all client side, ZK provides a way to handle AJAX requests automatically on the server side) they fill many of the same niches. There is an informative interview available ( http://blogs.pathf.com/agileajax/2006/06/an_interv iew_wi.html )

    If you want to jump straight into the ZK demo, check out http://www.zkoss.org/zkdemo/userguide/

  22. You were doing WHAT now!? by Anonymous Coward · · Score: 5, Insightful

    > The reason why I can't modify GPL'd software is fairly simple: releasing in-house software as GPL is expensive. It requires legal oversight to make sure that we can relicense it, it requires infrastructure to allow us to give customers access to it, it requires us to support those customers --- if you're a real company, you can't get away with telling customers to piss off when they ask you questions --- it requires us to religiously differentiate between the GPL'd code and the non-GPL'd code to prevent license poisoning, and above all, it requires the process to manage the above. Using GPL'd software involves an entire management chain from legal downwards. Using BSD software doesn't.

    Well, if you're using GPL'd software as part of your proprietary software, you were barking up the wrong tree to begin with--the whole point of the GPL is to promote free (libre) software.

    As for the relicensing bit, you can only license things you own. If you're not using code you own, you have your own problems right there, GPL or not.

    And if it was for simple in-house *use* (the GPL covers *distribution* as you can see from the preamble section), well, you didn't really have to release anything, anyhow, so there couldn't have been anything to vet to begin with.

    Honestly, it sounds to me like you grabbed a screwdriver and were disappointed because you couldn't make a very good hammer out of it.

  23. Guarantee of longevity! by radarsat1 · · Score: 1

    This is a great step for Google! One thing I haven't seen mentioned yet is that that open-sourcing the toolkit guarantees its longevity. I had looked at GWT before and thought it was really great, but I'm always a little wary of starting a project based on a company's "free" offering, no matter how nice it looks, because the last thing I want is for the rug to be pulled out from under me at the last minute.
    Now that it has been open-sourced under a decent license, there is an implied guarantee that I can now depend on this product to be around as long as there is a public interest in it. That makes the difference, for me, to whether I'll use it or not.

  24. Echo2 by ChaseTec · · Score: 1

    Try Echo2 from NextApp. It's open source and has a nice little community. Requires a server-side Servlet container so it's not a translator like GWT but it's got a lot more widgets. http://www.nextapp.com/platform/echo2/echo/

    --
    My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
    1. Re:Echo2 by gngulrajani · · Score: 1

      I second echo2 , a nice simple servlet based ajax solution...

      -best
      -gwak

  25. .NET? by edmicman · · Score: 1

    Could this be used as an alternative to MS's Atlas/AJAX.NET with ASP.NET? Would I want to use GWT instead of the MS way?

    1. Re:.NET? by namityadav · · Score: 1

      GWT is not an alternative to .NET. Java EE is an alternative to .NET. GWT is a tool that you might want to use once you have already decided that you want to use a Java based solution instead of a .NET based solution.

    2. Re:.NET? by Anonymous Coward · · Score: 0

      He asked if this was an alternative to Atlas, not ASP .Net. Atlas is the AJAX framework released by Microsoft designed to work with ASP .Net application (2.0 and higher). Atlas operates similar to GWT, but it has integration with Visual Studio and ASP .Net.

      A better alternative to Atlas might be to look at using script.aculo.us with ASP .Net. I've done it a few times and it's much more responsive than atlas, but it takes longer to code and you're giving up your compile time checks.

    3. Re:.NET? by edmicman · · Score: 1

      ^^ Yes, what he said! I'm already on ASP.NET, I'm just wondering if the GWT is a valid alternative to the MS integrated AJAX solution. I'll have to check out the scriptaculous...

    4. Re:.NET? by tehcyder · · Score: 1
      Would I want to use GWT instead of the MS way?
      Asking "would I want to use X instead of the MS way" on slashdot is like asking a turkey at Christmas "is it better to be vegetarian?"
      --
      To have a right to do a thing is not at all the same as to be right in doing it
    5. Re:.NET? by namityadav · · Score: 1

      I understand that. But my point is that you can't say that GWT is an alternative to Atlas. The reason is that you can't decide if your solution should be Atlas based or GWT based. You first have to decide if your solution will be .NET based or J2EE based. And then you choose the best tool available for that technology.

  26. ... Or patches to KJS :-) by Almahtar · · Score: 1

    Whether it's GWT's fault or KJS's fault, at least we can actually determine the problem much more quickly now that we can access the internals of both. Sweet.

  27. Re:GNU GPLv3 will be compatible with the Apache 2. by Richard_at_work · · Score: 1

    Im sorry, thats not the GPL v3 being 'Apache 2.0 license compatible', thats the Apache 2.0 license being compatible with the GPL v3 - it only goes one way, ever. The GPL series of licenses (from 2 upward, I know nothing about v1) are not compatible with any other license, because you cannot distribute GPLed code under another license without the express permission of the copyright holder. However many licenses are compatible with the GPL because code under those licenses can be distributed under the GPL. One way.

    Im not having a rant against the GPL, Im just asking that you get the terms correct.

  28. That is largely academic. by Anonymous Coward · · Score: 0

    But what constitutes distribution? If we provide the software to our contractors are are we then required to give them the source? If so are they allowed to redistribute it to whoever they want? Can NDA's/contract forbid this? Legal departments don't like the uncertainty of that situation. What if someone who is only partially familiar with the GPL, sees that it is GPL and assumes that it is okay to distribute? Or worse they think we are pulling a fast one and decide to be the whistle-blower. I have been reading slashdot long enough to see that once the slashmob hears about an alleged GPL violation the damage due to negative press is horrible, whether you are guilty are not.

    From a practical standpoint, you are fine for individual use, but the liabilities that a company exposes itself to by relying on the internal use clause of the GPL are too high. This will become even more of an issue when GPLv3 is completed as it clarifies that many situations which were once considered legitimate internal use by some, are not. I have nothing against the GPL, but as a matter of policy, we don't modify any GPL software unless we are willing to release those modifcations, and have a plan in place to do so.

  29. Omitted the NOSCRIPT tag - Disabling JavaScript by littlewink · · Score: 3, Interesting

    Once again a Web 2.0 Javascript framework that doesn't gracefully fail for those who disable JavaScript.

    IMO this is nice-looking but a non-starter.

    1. Re:Omitted the NOSCRIPT tag - Disabling JavaScript by soliptic · · Score: 2, Insightful
      Once again a Web 2.0 Javascript framework that doesn't gracefully fail for those who disable JavaScript.
      If you just searched for <NOSCRIPT> and didn't find it, and assume this means it won't gracefully fail with js off - you could be wrong.

      You can do graceful degradation that way. OR, you can output a page that works without javascript, all the links being traditional serverside "do_something.php?action=foo&id=foo" stuff. And then, the body onload() goes through your DOM and replaces all the links with javascript hooks to do things via the AJAXy method. So, if js is switched off, onload() doesn't happen, nothing gets replaced.

      This latter method (often termed "progressive enhancement" - basically looking at things backwards to "graceful degradation" - defaulting to the basic version and dynamically improving it where possible, as opposed to defaulting to the flashiest version and having a basic fallback) seems to be the more fashionable "best practice" among your 'standardista' web developers these days.

      So it's possible that's how this framework handles graceful degradation - workable without js and not a <NOSCRIPT> in sight.

      NB: I haven't actually looked at it, so I'm not saying it does do this and hence you're wrong; just saying it's a possibility.
    2. Re:Omitted the NOSCRIPT tag - Disabling JavaScript by nate+nice · · Score: 1

      Everything you make in this environment is JAVASCRIPT!!!! It's not meant for people who don't have computers capable of supporting JS or people that are too iggnorant to understand JS makes for better browsing.

      My Web App's I make in GWT aren't meant for Lynx users. They aren't meant for people with Pentium 2 computers. They aren't meant for anal fucks who won't turn JS on.

      Kind of like vodeogames, they are intended for people who WANT to use these things. They are for people who WANt to experiance NEW things.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    3. Re:Omitted the NOSCRIPT tag - Disabling JavaScript by angel'o'sphere · · Score: 1

      Once again a Web 2.0 Javascript framework that doesn't gracefully fail for those who disable JavaScript.
        IMO this is nice-looking but a non-starter.


      A AJAX application can't shut down gracefully to a non JavaScript version. The only thing it can do is to switch to a completely different HTML based solution. Unfortunately it makes only in the rarest cases sense to have both: a static HTML/CGI based solution *and* an AJAX solution.

      Sure, you probably think it makes sense for you to use GMail with lynx, for me it is an absurd idea.

      People who deside to write an AJAX appliactin will do so very often for inhouse solutions, not for the general public. No need to fall back gracefully. I for my part use GWT: because I don't want to fall back gracefully! I neither knwo nor am I interested in knowing full DHTML/CSS and all browser exceptions for the major browsers, ewxactly that is what GWT is solving for me.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  30. TheServerSide presentation by tedgoddard · · Score: 2, Informative

    A "tech talk" on GWT is posted on TheServerSide. Of course, if you're generally interested in Ajax you should also check out the tech talk on Ajax Push with ICEfaces just below the GWT talk. In keeping with allowing the developer to write Ajax applications in pure Java, ICEfaces also promotes Ajax development without JavaScript.

  31. Re:GNU GPLv3 will be compatible with the Apache 2. by DragonWriter · · Score: 1
    I don't agree with you on this, but FYI the GNU GPL version 3 will be compatible with the Apache 2.0 license.


    No, the Apache 2.0 license will, if RMS's statement is correct, be compatible with the GPLv3, because derivative products of an Apache 2.0 licensed work will be able to be released under the GPLv3 (with a particular allowed modification).

    The GPLv3 will not be compatible with the Apache 2.0 license, because derivative products of a GPLv3 licensed work will not be able to be released under the Apache 2.0 license.

    License compatibility is not symmetric.
  32. Easy by Lehk228 · · Score: 1

    no teachers unions in the Federation

    --
    Snowden and Manning are heroes.
  33. GWT is good but I am using Dojo by MarkWatson · · Score: 1

    I have spent a fair amount of time playing with 2 versions GWT and one of the Eclipse GUI designer plugins: good stuff for sure.

    Problem is that it is Java centric. Since I don't need to do too much AJAX, I decided that it would be easier for me to learn how to use the Dojo Javascript library. For me, this works for my Common Lisp and Java based web apps. Dojo also works well with Rails, but Rail's built in AJAX support is so good I have (so far) just used that.

  34. If you prefer C++ ... by ohell · · Score: 2, Interesting

    try Wt. It is like GWT without Java - uses standard C++ and the only essential dependencies are boost & Xerces. Doesn't have Google pushing it, but is being actively developed. I bet it can beat the pants off GWT for server-side performance, besides being architecturally modern (uses boost signal-socket library for both client and server based event handling). Another nice feature is that it degrades gracefully - defaults to DHTML if browser can't do AJAX.

    --
    Three o'clock is always too late or too early for anything you want to do. - Jean-Paul Sartre
    1. Re:If you prefer C++ ... by xynopsis · · Score: 1
      Hi,

      I'm one of the developers of Wt. I would like to put some extra clarifications here. Although, it does use boost for date, time, regex, and some utility functions, it does not use the boost::signals component for the signal and slots event handling. It has a feature called stateless slots that is somewhat cumbersome to do in boost::signals. Instead it uses an in-house signal and slots library that follows closely Qt's signal and slots model to acheive this feature.

  35. Why not use both? by dr7greenthumb · · Score: 1

    AJAX and signed applets complement each other nicely. Use AJAX to do the work that needs to be done quickly to keep the user's attention and use signed applets to do the heavy lifting in the background. Key to this relationship is the JSObject class.

  36. How do you know? by p3d0 · · Score: 1

    Got a link?

    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  37. Oh the irony! by tehcyder · · Score: 1
    people that are too iggnorant to understand JS makes for better browsing.
    Priceless.
    --
    To have a right to do a thing is not at all the same as to be right in doing it
    1. Re:Oh the irony! by nate+nice · · Score: 1

      Real priceless, nerd. I hit an extra 'g' and didn't see it. Get over it and bring something to the conversation. Or is it that you're too nit-witted to have a valid opinion?

      Looks like the classic nit-wit....

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
  38. Basic GWTTapestry Tutorial is available by railsconvert · · Score: 1

    Available from this blog entry.

    Brought to you by Clean Code.

  39. Buzzword Compliance by RAMMS+EIN · · Score: 1

    ``So... you can write your application in Java, but then compile it to Javascript to run inside a web browser?''

    True, and what an amazing buzzword compliance that gives! Java, AJAX, web application, web 2.0, RIA, ...

    Ok, I'm sure there are more, but it hurt me enough uttering these...

    --
    Please correct me if I got my facts wrong.