Slashdot Mirror


Google Releases AJAX Framework

maquina writes "Google released a new AJAX framework based on Java. From Google's mouth: "Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language." This impressive framework promises to make AJAX available to the masses and is one more step towards Google becoming the de facto Internet platform provider."

32 of 327 comments (clear)

  1. Yeah, right.. by schon · · Score: 5, Informative
    Yahoo has already done this

    No, they haven't - at least not unless you have some other information you're not sharing.

    From the Google site:
    You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

    From the Yahoo link you provided:
    To use a specific component from the YUI Library, include the path to that library in a <script> tag within your web page.

    So, how is this the same thing?
  2. Re:Once again, Yahoo! is overlooked by Sulka · · Score: 4, Informative

    Nope, there's a big difference between these libraries.

    The Y! framework still requires you to write HTML and Javascript - they just make implementing DHTML effects + AJAX less painful.

    The Google framework removes the base need for HTML and Javascript authoring from the application development process entirely. Obviously you'll want to make the app look nice and need custom styling but in order to actually develop the functionality, zero HTML is needed.

    As a consequence you can use the Yahoo stuff with any backend implementation language (PHP, Java, whatever) while the Google framework is limited to strictly Java. I don't mind though. :)

    --
    "Although it is not true that all conservatives are stupid, it is true that most stupid people are conservative."
  3. Re:The best feature of this toolkit by seizer · · Score: 5, Informative

    It's not quite a "brand new direction" - Microsoft's Atlas product has been offering something along these lines for a while now (albeit still as a beta). You lay out controls visually in Visual Studio (or Express), and control them programmatically from .NET. It takes care of rendering them down to HTML + Javascript, and it's pretty much cross platform friendly.

  4. The license is restrictive.. mods prohibited by HighOrbit · · Score: 5, Informative

    Prohibited Actions

    Except for distributions for internal business and/or personal use to your employees or contractors in compliance with these Terms and Conditions, you may not distribute Google Web Toolkit Development Tools or any services or software associated with or derived from them, or modify, copy, license, or create derivative works from Google Web Toolkit Development Tools, unless you obtain Google's written permission in advance. If you wish to do any of the above, please contact us by emailing apis@google.com. You may not use the Google Web Toolkit Development Tools to develop or distribute products that violate the law or legal rights of third parties.


    No, I'm not looking a gift horse in the mouth and why does this matter? Because I happen to prefer PHP for web development (just a personal preference). It would be nice to be able to move the JavaScript components off from the Java framework into a PHP based framework. Well, apparantly you can't do that without special permission.

    BTW, the Yahoo UI Library is BSD licensed.

    1. Re:The license is restrictive.. mods prohibited by lilnobody · · Score: 2, Informative
      Prohibited Actions

      Except for distributions for internal business and/or personal use to your employees or contractors in compliance with these Terms and Conditions, you may not distribute Google Web Toolkit Development Tools or any services or software associated with or derived from them, or modify, copy, license, or create derivative works from Google Web Toolkit Development Tools, unless you obtain Google's written permission in advance. If you wish to do any of the above, please contact us by emailing apis@google.com. You may not use the Google Web Toolkit Development Tools to develop or distribute products that violate the law or legal rights of third parties.

      No, I'm not looking a gift horse in the mouth and why does this matter? Because I happen to prefer PHP for web development (just a personal preference). It would be nice to be able to move the JavaScript components off from the Java framework into a PHP based framework. Well, apparantly you can't do that without special permission.

      You're misunderstanding, although the legalize associated with the term 'derivative work' when talking about a development environment is aterribly obtuse. This says nothing about the generated code or anything you make with the tools, this is talking about the tools themselves. They are saying you can't redistribute the development environment itself, edit the DE and call it your own, edit the DE and sell it to someone, etc.

      Based on this paragraph alone (I haven't read the rest) you can cut and paste into your php just fine.

      nobody

    2. Re:The license is restrictive.. mods prohibited by Dorktrix · · Score: 5, Informative

      Have your attorney review the terms -- I think you are misunderstanding them. You may not redistribute GWT itself (the actual zip files containing the GWT compiler, among other things), but you own all output from the tools. We even released the source code to the class libraries under the Apache 2.0 open source license.

      GWT is available for commercial, non-commercial, and enterprise use with almost no strings attached. Please review the complete terms for details:

      http://code.google.com/webtoolkit/terms.html

      Bret Taylor
      Product Manager, Google Web Toolkit

  5. Re:Once again, Yahoo! is overlooked by Z0mb1eman · · Score: 4, Informative

    Ohhh? Was it overlooked?

    To be fair, Yahoo's is just a collection of controls and widgets to be included in a project indvidually - which has been offered by many other sites for quite a while now - while Google's promises to be a framework that takes the headache out of front-end AJAX development. Of course, in my experience "automatically generates code" and "takes the headache out of" are eventually incompatible down the line, but what do I know.

    I haven't played with either yet, but they sound like two different beasts to me. The most interesting part of this to me would be to see how Google writes their web code.

    --
    ClutterMe.com - easiest site creation on the Net. Just click and type.
  6. Re:The best feature of this toolkit by Anonymous Coward · · Score: 5, Informative

    "I think Google is mostly responsible for launching the AJAX trend"
     
    Er, nope. Hard as it is to believe, Microsoft were there first with the awesome Outlook Web Access which mimics Outlook, on a web page really, really well. This used their XMLHTTP ActiveX object which is also used extensively in Windows Update.
     
    The rest happened from there really. Google is probably the best known current implementer of AJAX, but good as they are I certainly wouldn't say they launched it... and I certainly wish world + dog would stop releasing AJAX frameworks!

  7. Not included and YUI comparisons... by mgkimsal2 · · Score: 4, Informative

    The oft-copied 'google suggest' dropdown stuff. It's not something demoed in the 'kitchensink' app they provide at http://code.google.com/webtoolkit/documentation/ex amples/kitchensink/.

    I agree with someone else that the Yahoo UI (yui) toolkit seems to get ignored a bit, but I think this plays to a different crowd.

    1) This is a java-based thing only it seems. People writing .net can use atlas for most of these features, people using Ruby or other scripting langauges probably have bindings to scriptaculous and other libraries to handle most of this. There were/are probably Java bindings already for scriptaculous, but this makes it easier for java people already used to swing/awt stuff.

    2) The YUI stuff was more javascript oriented, and, from my experience, difficult to use in some settings. I had a hard time getting the slider stuff to work as needed based solely on their code and one example page, for example. Perhaps that makes me not as l33t as some others who can debug others' javascript in their sleep - I dunno. I do know that if Google makes this easy for people to adopt, it'll take off. Partially because there's a lot of google love amongst early-adopters in the tech community, and partially because making things easy is just a good way to attract people. :)

    3) With the YUI stuff, Yahoo was/is seeming to cater to the scripting crowd more (witness the native serialized PHP responses you can get back). If google is going after the "I write Java apps" crowd, they may be able to bring in a new set of people to web-app development who before now were not in the web space.

    I interviewed one of the Yahoo engineers who worked on the YUI widgets release at my podcast - http://webdevradio.com - you can get some more perspective on what Yahoo was/is doing and trying to achieve with that move.

    Just some random thoughts...

  8. Nope - OWA was closed. by mgkimsal2 · · Score: 5, Informative

    Sorry, but I have to give it to someone other than Microsoft. While they did essentially invent the tech behind Ajax, the only major project they used it on was basically something that was closed. I don't mean source, but not open to the public. You only saw it if you had an organization using Outlook/Exchange in the first place, which still excluded a huge majority of people using the web. Had they ported hotmail to the OWA interface, that would have been a major revolution far greater than google maps or anything else. But they didn't.

  9. Re:AJAX isn't really ready for .NET by Anonymous Coward · · Score: 3, Informative

    .NET and AJAX really don't play nicely.

    Have you seen ICallbackEventHandler in ASP.NET 2 and MS's own ATLAS toolkit?

  10. Re:Interesting... BrowserQuirks++ by mnemotronic · · Score: 3, Informative
    Yes. BrowserQuirks is the vast range of dialects needed, beyond the root languages AychTeeEml, X-Eml, ThisWeeksVersionOfJavascriptAndWereStillNotEcmaCom pliant, and Sea-SS. BrowserQuirks is not so much an independent language, as it is a definition of what the root languges are not. BrowserQuirks (currently in beta rev 72429) is a dynamic, symbiotic, multi-vendor organism, which changes on a regular basis. There is no documentation, unless you're able to "read between the lines" of the various browser release notes - any root language feature not mentioned explicitly is probably not supported, or is supported in a non-standard way. And for that matter, even features that are mentioned are probably done in a non-standard way. A good comparison in the real world is to rapidly mutating virus that alternates between relatively benign and threatens to destroy all carbon-based life.

    The browser vendors consider this "a really good thing" because it offers "product differentiation" and "market segment focus". The cost in human lives is not an issue.

    --
    The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.
  11. Re:Interesting... by Freexe · · Score: 2, Informative

    The w3c validator is fine, to my understanding this is valid html

    http://virtuelvis.com/archives/2004/02/evilml

    --
    "In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
  12. Re:Interesting... by Bogtha · · Score: 3, Informative

    There's no way that's valid HTML.

    Yes, it is. It just uses HTML syntax that virtually no browsers have implemented. This is what the HTML 4.01 specification has to say on the matter:

    Some SGML SHORTTAG constructs save typing but add no expressive capability to the SGML application. Although these constructs technically introduce no ambiguity, they reduce the robustness of documents, especially when the language is enhanced to include new elements. Thus, while SHORTTAG constructs of SGML related to attributes are widely used and implemented, those related to elements are not. Documents that use them are conforming SGML documents, but are unlikely to work with many existing HTML tools.

    --
    Bogtha Bogtha Bogtha
  13. Re:The best feature of this toolkit by badfish99 · · Score: 5, Informative
    Here's a much better implementation of the same idea that's been available for some time now: http://zk1.sourceforge.net/

    It's not "beta" like this half-baked "me-too" from google, and it's open-source.Also commercial support is available it you want to pay for it.

  14. Re:AJAX isn't really ready for .NET by uradu · · Score: 2, Informative

    More like .NET isn't ready for AJAX. AJAX doesn't really use any new web technologies, it just applies existing ones in a somewhat new way. ASP.NET OTOH is a framework that tries to completely shield the developer from the underlying web technologies, and it does so with varying degrees of success, in the process turning out web technology idiots.

  15. See previous posts about ATLAS by spideyct · · Score: 2, Informative

    Search Slashdot for ATLAS (and make sure to copy over all of the negative posts about why people don't want this).

    Atlas is the AJAX framework built by Microsoft that allows you to use .NET GUI objects to render browser-compliant javascript and HTML.

    It is a much more proper predecessor to Google's release, compared with Yahoo!'s offering (which I believe MS also predated).

  16. Re:The best feature of this toolkit by FecesFlingingRhesus · · Score: 3, Informative



    To be fair I think the progression to AJAX was an evolution of which the last breaking point was web service and the ability to easily (I use that term lightly) transmit simple objects across the wire. When MS built their web outlook they where passing raw XML back and forth across the wire, with all the nastiness that comes along with it. With the push towards web services, and the XmlHttpRequest laying in obscurity it was only natural that it someone would (re)figure out the coupling of these technologies to become AJAX for more info on who contributed what look here

  17. Funny...no one noticed this in the agreement... by Anonymous Coward · · Score: 1, Informative
    Updates

    The Google Web Toolkit Development Tools will communicate with Google's servers to check for available updates to the software, such as bug fixes, patches, enhanced functions, missing plug-ins and new versions (collectively, "Updates"). During this process, the Google Web Toolkit Development Tools send Google a request for the latest version information. By installing the Google Web Toolkit Development Tools, you hereby agree to automatically request Update information and receive the option to install Updates from Google's servers.


    And here I was all ready to take off my tinfoil hat.

  18. Yet Another Initiative to fire all the webdevs by Kent+Brewster · · Score: 2, Informative
    From the top paragraph of the Google Web Toolkit page:

    JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.


    Beg to differ. JavaScript has just as much "modularity" as any other object-oriented language; methods like JSON and libraries like Dojo, Prototype, and the aforementioned Yahoo! Web Services APIs are proof.

    Every few years there comes along Yet Another Initiative to fire all the webdevs. No disrepect to Google's engineers, who are clearly brilliant, but we've been there and done that. For a good time, open up Firefox's DOM Inspector, crack into their Kitchen Sink demo, and boggle over the iframes and tables and embedded JavaScript, oh my!
  19. back to the back button! by yagu · · Score: 2, Informative

    I haven't heard anyone comment about what I think is a great feature in this toolkit:

    Browser history management:

    No, AJAX applications don't need to break the browser's back button. GWT lets you make your site more usable by easily adding state to the browser's back button history.

    I know this is something you can hack together if you're writing your own hand-crafted js, but this will be a nice feature -- I haven't looked at the toolkit yet, but I wonder how easy to use this will be.

    Have any of the other frameworks provided this mechanism?

  20. Re:Google a Java shop? by chrisd · · Score: 5, Informative

    We use Java, C++, Python and a smattering of other languages for user facing stuff.
    Chris

    --
    Co-Editor, Open Sources
    Open Source Program Manager, Google, Inc.
  21. echo framework anyone? by MartinG · · Score: 4, Informative

    Coding your UI in java and having it translated into javascript and html without having to worry about cross browser compatibility?

    Sounds familiar. It's rather like the echo framework

    The big differences I see are:

    1) Google toolkit advantages:
    - No load on the server to render the UI. All ui code runs on the browser, so this may help server scalability.

    2) Echo advantages:
    - Fully open source.
    - Richer set of ui components (IMO - see the demo at http://demo.nextapp.com/Demo/app )

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    1. Re:echo framework anyone? by saturnism · · Score: 2, Informative

      Yeah, I think Echo is probably the most quiet framework out there that has all the great quirks even before Web 2.0 term was out. It receives less attention than it deserves.

      Also, GWT doesn't seem all that complete at all. Dojo is a pretty good place to look for AJAX componentsd as well. http://dojotoolkit.org/

      --
      it is me
  22. Re:java based on java? by fireshipjohn · · Score: 2, Informative

    >> Doesn't AJAX mean 'Async. Java And XML'? So can you have AJAX based on something else?

    Javascript not Java, so yes, you can have AJAX based on something else.

  23. Re:java based on java? by emoeric · · Score: 2, Informative

    AJAX = "Asynchronous JavaScript and XML"

    so yes, you can have it based on something else. Java != Javascript

    --

    |---------------|
    practically an AC
  24. Re:Genius by bobintetley · · Score: 2, Informative

    I'm suprised no one, especially Sun, have tried it earlier.

    They did (along with lots of other OSS toolkits - get googling)

  25. Re:java based on java? by Matz+L.E. · · Score: 2, Informative
    Doesn't AJAX mean 'Async. Java And XML'?
    No, it's "Asyn. JavaSCRIPT and XML".
    So can you have AJAX based on something else?
    Yes, there are AJAX-Framweworks based on PHP.
  26. GWT works with all server technologies by Dorktrix · · Score: 2, Informative

    Actually, GWT works with all server technologies (PHP, ASP, Java, etc). GWT is primarily a client-side technology that is deployed as HTML and JavaScript that can be served by any web server. If you want to do RPCs from GWT to a non-Java server, that is easy too; check out our JSON RPC example here: http://code.google.com/webtoolkit/documentation/ex amples/jsonrpc/. We created this example to demonstrate this exact use case.

    Bret Taylor
    Product Manager, Google Web Toolkit

  27. Re:The best feature of this toolkit by nostriluu · · Score: 2, Informative

    Besides XMLHttpRequest, there is a way to transfer data between Java and Javascript. An embedded Java applet can communicate with the server which passes values to Javascript. I was using this technique back in ~ 1997 to populate a select box based on input from an input box. I'm in a rush so can't track references to this down, but it should be considered in this history - the AJAX concept has been around for a while. Anyway, I'm only mentioning this because many people don't know about it and the original article is about Java. :)

  28. Re:The best feature of this toolkit by Anonymous Coward · · Score: 1, Informative

    I take it you don't know about Direct Web Remoting?

    http://getahead.ltd.uk/dwr/

  29. Re:Another downside... by jZnat · · Score: 3, Informative

    You can disable the checking for updates either as an option in about:config or as an actual compile-time option.

    --
    'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'