Slashdot Mirror


Open Source AJAX toolkits

twofish writes "InfoWorld columnist Peter Wayner recently reviewed six of the most popular "open source" Ajax toolkits. The article sets out to see if they are enterprise ready in comparison to commercial products such Backbase, JackBe, and Tibco's General Interface. The six open source projects covered were selected because each has a high-profile in the developer community and support of one or more stable organizations. " The toolkits covered are:
  1. Dojo
  2. Google Web Toolkit
  3. Microsoft Atlas
  4. Open Rico and Prototype
  5. Yahoo AJAX Library
  6. Zimbra Kabuki AJAX Toolkit


Whilst the definition of open source is broad, the round-up is quite helpful.

19 of 147 comments (clear)

  1. Nice, printer format... by jbarr · · Score: 2, Informative
    --
    My mom always said, "Jim, you're 1 in a million." Given the current population, there are 7000 of me. God help us all!
  2. DWR by kevin_conaway · · Score: 4, Informative

    If you're doing Java/J2EE work, you should really have a look at DWR

    It makes it disgustingly simple to expose pretty much anything as AJAX calls

  3. I've just implemented my first AJAX site... by Toreo+asesino · · Score: 4, Informative

    Using Atlas for asp.net (http://atlas.asp.net/). Fantastic framework; unbelievably simple.

    I took a normal asp.net form I built for an ordering-page (lot's of postbacks for updating various basket options, etc, etc), wrapped it in an atlas XML container (all of 10 seconds work), and Bob became my uncle - the entire thing was AJAX enabled, doing lightweight postbacks & updates instead instead of the usual full-page postbacks you normally get with asp.net page-events.

    And all the JS is cross-platform too - IE, FF, Safari, etc (allthough, sadly, no Opera support just yet).

    And the best thing is, for all you JavaScript haters is turning off JS in the browser just meant the page automatically reverted to full-blown postbacks instead; thus not limiting accesibility.

    Oh, and I understand you can link php into Atlas too, but I'm guessing there's other stuff out there for php aswell.

    --
    throw new NoSignatureException();
  4. Re:Java != Javascript by Anonymous Coward · · Score: 3, Informative

    Who wants to code Javascript when you can use Swing?

    Google did not write a Swing API for JavaScript. That would be incredibly complicated and not worth their time. As you can see here, only some classes in the java.util and java.lang packages are supported, and some of them do not have identical APIs due to the differences between Java and JavaScript. The user interface can be written using GWT's components.

  5. A better review (w/ actual code samples) by jbellis · · Score: 5, Informative
  6. Just did this myself by slindseyusa · · Score: 5, Informative

    I just went through and evaluated most of these myself in the past week because of a new work project. Dojo is by far the best when looking at building a real web "application". The others have limitations (such as Google's toolkit which requires you to write your code in Java) or are focused too much on "flashy" stuff. Dojo provides dialog boxes, windows, an editor, and more. It still has bugs and is an early version, so you need to consider your audience and time frame. For example, I had a problem with FF 1.0.7 (even though they say it is supported) but I only need to support FF 1.5 and Safari 2. I'm building a complex web app for an internal audience and I can guarantee they'll have one of these 2 browsers. Still, it seems to have broader support than some of the others toolkits. While I'm jsut starting with it, I've been happy so far. There's little documentation but the examples are good enough to get you started.

  7. Echo2 is good! by Anonymous Coward · · Score: 3, Informative
  8. script.aculo.us? by LFS.Morpheus · · Score: 2, Informative

    Why is that script.aculo.us is left out of these comparisons? script.aculo.us is behind the AJAX in most Ruby on Rails apps, but it can be used on its own. (As of Rails 1.1, Rails has special built-in support to make it even easier to use.)

    --
    The space unintentionally left unblank.
    1. Re:script.aculo.us? by bigdadro · · Score: 2, Informative

      Probably because scriptaculous is an effects library built on top of prototype, without prototype it is useless.

  9. Re:Erm... by ukleafer · · Score: 2, Informative

    dig into the framework and basically "make it their own".

    just an aside, but any modification of the framework code itself in GWT (maybe some of the others too?) is a breach of the T&C that the developer accepted before downloading the kit.

  10. Erm... what about? by Anonymous Coward · · Score: 2, Informative

    I'm a little surprised that nobody has mentioned jQuery (http://jquery.com/). While it does AJAX, its much more than that, and lets you write some seriously concise script. There's also a lot of activity from Dean Edwards (http://dean.edwards.name/) on the mailing list, which is probably a good thing. Also looks like it might be the only/first library to find a true solution to the whole cross-browser "window.onload" problem (as of version 1.0, currently in beta).

  11. Yahoo YUI Toolkit by DeionXxX · · Score: 4, Informative

    Personally I think the Yahoo YUI Toolkit is the best framework out there. It is commented very well, it is 100% cross browser compatible (they test on Opera, Firefox, Netscape, IE etc). It is fully supported by a team of engineers. They provide several versions of each script, so you can build your site with the -debug script, move to the normal script, and then when putting it on a live server, you include the minimzed script which is much smaller.

  12. My Own Survey by 2Wrongs · · Score: 2, Informative

    Just my experience, but they were all a little lacking (although I admit I'm a novice in AJAX).

    Rico's newsgroup was great; I got (friendly) answers within hours, but I'm not exaggerating when I say the documentation was the worst I've ever seen. If I had more time to play around, I would have stuck it out and helped (their community is cool), but I'm on the clock and need simple working examples.

    I briefly tried Atlas and was impressed with ease of use, but got hung up with bugs (it's beta, but will be a good tool when it's ready).

    Dojo had good starter documentation. I spent a while trying to figure out something poorly documented and figured I'd write a brief tutorial, but was surpirsed they have a "closed" Wiki. After some digging, it suggested dropping the developers a line to get an account, but wasn't able to find the address. I gave up. I can see why their documentation is so spotty, since they ignore what a great tool a Wiki could be. The psuedo-Wiki gaps are somewhat filled by a pretty good newsgroup though.

    YMMV, but Dojo was the best of the tools I worked with.

  13. Qooxdoo by valamaldoran · · Score: 3, Informative

    I've tried Dojo and the Prototype derivatives - Moofx, Rico and Scriptaculous. I don't really like Dojo because it seems so basic. Moofx is pretty good for lightweight effects, and the weight factor for effects goes up with Rico and even more with Scriptaculous. Bad thing about Prototype based scripts is that it doesn't play well with others due to Prototype's large manipulation of core objects. Enter QOOXDOO. Qooxdoo surprised me with how advanced it was. And its free. It is definately the script anyone needs to build a complex user interface for any application, because its designed to look just like an application. Its documentation is sparse, but the development community is amazing. they respond very quickly, and are working hard to fill the gaps on the documentation. The latest version is a vast improvement. The examples are very diverse, showing all the possibilities this remarkable script can do. if you really want to see an advanced framework that looks incredibly awesome, check out Qooxdoo...http://www.qooxdoo.org

  14. Re:Erm... by Bogtha · · Score: 2, Informative

    Nice to see that they forgot that the MIME type for JavaScript is "application/javascript"...

    Forgot? The media types for JavaScript were only standardised this year. Before April, application/javascript was merely a common convention - and actually a less common convention than text/javascript, which is also an acceptable (if deprecated) media type for JavaScript according to the RFC.

    So a) there wasn't anything to "forget", and b) they aren't doing anything wrong anyway.

    --
    Bogtha Bogtha Bogtha
  15. Re:Java != Javascript by stu42j · · Score: 2, Informative

    The history of JavaScript from its inventor:

    http://wp.netscape.com/comprod/columns/techvision/ innovators_be.html

  16. W3C Standard-based ones by leighklotz · · Score: 2, Informative

    There are also toolkits and JavaScript apps that combine W3C standards with AJAX, letting you write a lot of the dynamic page stuff in a declarative fashion, using just markup (XHTML+XForms; I was an editor of the XForms 1.0 recommendation, but new revisions have come out; see http://www.w3.org/TR/xforms).

    The FormFaces OSS product is an entire XForms implementation done in JavaScript, running in the browser. You write your page in HTML with XForms markup, and FormFaces does the "HiJax" thing of re-writing it for you. You never need to use XmlHttpRequest, and you can interact with regular servers, RESTful services, etc., all via XML.

    Another product that does this, in a slightly different way, is AjaxForms. I just found out about it, but it looks pretty good. AjaxForms uses some server-side components to do the translation from strict XHTML+XForms markup into Ajax (HTML4+JavaScript), but they claim it can work in PHP and Tomcat servers. Again, FOSS, and available at http://ajaxforms.sourceforge.net/ [sourceforge.net]

    I recently implemented dynamic forms for weblogs and wikis, and did it using Chiba, another FOSS product, that like AjaxForms does its conversion on the server, using Tomcat as a container.

    The Orbeon folks have a nice blog that shows how to use XForms (their implementation, the Mozilla extension, or any of the other above toolkits) to accomplish typical dynamic page tasks such as listing countries and ISO codes, or resizing flickr (also via formsplayer.

  17. Re:Documentation by MConlon · · Score: 2, Informative

    Also, Dojo's annoying because it requires you to add non-standard attributes to your HTML in order to identify widgets. For example:

    <button dojoType="Button" widgetId="helloButton">Hello World!</button>

    dojoType? widgetId? Those ain't gonna pass no validator THIS little programmer knows of.

    Dojo's widgets can be defined using a separate namespace, "dojo", so your XHTML will validate. As in: <button dojo:type="Button" dojo:widgetId="helloButton">Hello World!</button>

    MJC

  18. Php & js Ajax toolkit & Visual development by zeemu · · Score: 2, Informative

    APhPLIX is a toolkit for building Ajax web applications with a traditional GUI.
    It comes with a visual development studio web application for point and click application development, and it's all open source.

    I think there may be some similar proprietary products, but I don't think there are any other open source projects like it.
    --
    zeemu