Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Google Businesses The Internet Programming IT Technology

Google Web Toolkit Now 100% Open Source 173

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."
This discussion has been archived. No new comments can be posted.

Google Web Toolkit Now 100% Open Source

Comments Filter:
  • by clifgriffin ( 676199 ) on Tuesday December 12, 2006 @02:08PM (#17211036) Homepage
    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.

    • Re: (Score:2, Informative)

      by clifgriffin ( 676199 )
      That should read "the web isn't really structured"....

      Sorry.
    • by dsginter ( 104154 ) on Tuesday December 12, 2006 @02:48PM (#17211590)
      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."

      • by Aladrin ( 926209 )
        '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 th
        • by s4m7 ( 519684 ) on Tuesday December 12, 2006 @05:05PM (#17213686) Homepage
          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.

          • Re: (Score:3, Funny)

            by breadbot ( 147896 )

            You mean Champaign [google.com], 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 [villageofoblong.com].

            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!

          • by Aladrin ( 926209 )
            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.
      • by Fozzyuw ( 950608 ) on Tuesday December 12, 2006 @04:18PM (#17212944)
        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

        • 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!

        • no teachers unions in the Federation
        • 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
          • Re: (Score:2, Insightful)

            by rmerry72 ( 934528 )

            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

            • 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 "compil
        • 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.
      • 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
      • by aclarke ( 307017 )
        ...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 ;-)
    • Re: (Score:2, Insightful)

      by Shados ( 741919 )
      ::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.
      • by Mad Merlin ( 837387 ) on Tuesday December 12, 2006 @03:18PM (#17212024) Homepage
        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.

        • Re: (Score:3, Interesting)

          by Shados ( 741919 )
          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
          • 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'
            • 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.
            • by Shados ( 741919 )
              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 ha
    • 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.
      • by abigor ( 540274 )
        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.
        • 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 [artima.com]: 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 JavaScri
      • Re: (Score:3, Informative)

        by Red Alastor ( 742410 )

        You might be interested by this project that aims to create a tool just like GWT but for Python. http://pyjamas.pyworks.org/ [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.

      • 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 i
  • Does anybody know how to use this toolkit along with Tapestry [apache.org]? 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.
    • Re: (Score:2, Informative)

      by Valdukas ( 247053 )
      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 [sourceforge.net])
      • by chochos ( 700687 )
        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.
  • by namityadav ( 989838 ) on Tuesday December 12, 2006 @02:11PM (#17211070)
    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.
    • Um..correct me if I'm wrong, but doesn't Google use this to power some of their web-apps?
    • by david.given ( 6740 ) <dg@cowlark.com> on Tuesday December 12, 2006 @02:40PM (#17211452) Homepage Journal

      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.

    • by Dion ( 10186 )
      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.
      • 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.
  • by Anonymous Coward on Tuesday December 12, 2006 @02:12PM (#17211078)
    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.
    • 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?
      • Re: (Score:2, Informative)

        by maxume ( 22995 )
        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.
        • by Eivind ( 15695 )
          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

      • Re: (Score:3, Interesting)

        by david.given ( 6740 )

        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 leg

        • by Anonymous Coward on Tuesday December 12, 2006 @02:46PM (#17211560)
          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?
        • by Anonymous Coward on Tuesday December 12, 2006 @03:29PM (#17212202)
          > 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.
        • 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.

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

    • 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 [fsfeurope.org] from the Free Software Foundation Europe. The combined GPLv3+Apache2 work can be released under the GPLv3+"patent termination protection" license.

      If people think

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

  • 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.
  • Dang it. (Score:2, Funny)

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

  • by Ed Avis ( 5917 ) <ed@membled.com> on Tuesday December 12, 2006 @02:15PM (#17211134) Homepage
    So... you can write your application in Java, but then compile it to Javascript to run inside a web browser?
  • Yes please :) (Score:3, Interesting)

    by growse ( 928427 ) on Tuesday December 12, 2006 @02:18PM (#17211170) Homepage

    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.

    • So, um, how does using GWT to avoid browser quirks and the need to know JavaScript fall in the "build it yourself" philosophy?
      • Re:Yes please :) (Score:5, Interesting)

        by growse ( 928427 ) on Tuesday December 12, 2006 @03:31PM (#17212240) Homepage
        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.
  • Um ya...... (Score:3, Informative)

    by jrwr00 ( 1035020 ) <jrwr00@gm[ ].com ['ail' in gap]> on Tuesday December 12, 2006 @02:26PM (#17211272) Homepage
    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.
  • 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.
    • by Shados ( 741919 )
      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.
    • Re: (Score:3, Informative)

      by curunir ( 98273 ) *
      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.
    • by dedazo ( 737510 )
      The Dojo Toolkit [dojotoolkit.org] 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.

  • Devil's Advocate (Score:5, Informative)

    by wralias ( 862131 ) on Tuesday December 12, 2006 @02:48PM (#17211586)
    From TFA [google.com]:
    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.
    • by abes ( 82351 ) on Tuesday December 12, 2006 @03:35PM (#17212288) Homepage
      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.
    • 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.

      • Re: (Score:3, Informative)

        by macshit ( 157376 )
        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
    • by batkiwi ( 137781 )
      "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 collisi
      • by kubalaa ( 47998 ) on Tuesday December 12, 2006 @10:01PM (#17217816) Homepage

        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.
  • ZK (Score:3, Informative)

    by Dan Farina ( 711066 ) on Tuesday December 12, 2006 @03:28PM (#17212192)
    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/ [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 [pathf.com] )

    If you want to jump straight into the ZK demo, check out http://www.zkoss.org/zkdemo/userguide/ [zkoss.org]
  • 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
  • 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?
  • by littlewink ( 996298 ) on Tuesday December 12, 2006 @06:34PM (#17215162)
    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.
    • Re: (Score:3, Insightful)

      by soliptic ( 665417 )

      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

    • 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 th
  • A "tech talk" on GWT is posted on TheServerSide [theserverside.com]. Of course, if you're generally interested in Ajax you should also check out the tech talk on Ajax Push with ICEfaces [icefaces.org] 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.
  • 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.
  • by ohell ( 821700 )
    try Wt [kuleuven.ac.be]. 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.

"Conversion, fastidious Goddess, loves blood better than brick, and feasts most subtly on the human will." -- Virginia Woolf, "Mrs. Dalloway"

Working...