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."

11 of 173 comments (clear)

  1. 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 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.

  2. 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 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. 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
  4. 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.
  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. 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 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.

  7. 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.

  8. 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