I've started a project on the side using JSF and am trying to decide on an AJAX component library. I'm debating between using A4J, which I have used before and Trinidad, which I have not. Here are the libraries that I have decided it must work with:
MyFaces 1.1.5 (or 1.2.0) Tomahawk 1.1.6 Facelets 1.1.11 JBoss Seam 1.2.1 Functionality I would like/require: * re-rendering of specific components * submission, decoding, validating and updating of only select components * ability to run custom busy java script code to be run while AJAX request is being processed * Clear API for writing custom components to leverage AJAX functionality * Clear API for specifying re-rendered components in backing bean actions * ability to run javascript after an AJAX call is complete that differs per-component * clear javascript hooks into the client side API for customizing the behavior * ability to skip the update phase to just check for validation/conversion errors (would be nice functionality) Would like to see these types of components: * SPAN/DIV AJAX "areas" to be able to re-render them to AJAX enable non-ajaxed components * ability to specify which components to submit/decode/validate/update (tomahawk sandbox subForm can work if it resorts to that) * polling component * ajax-enabled include that works with JSF navigation (would be nice) * ajax on event functionality (re-render such-and-such when a select box changes value for example) Ajax4JSF has all this functionality and I like it but I have issues with it, and I want to see what the Trinidad team has to say. Problems I have with A4J: * LGPL license, so no hope of components written by the Apache team that will work with it * Very limited component library that supports it (RichFaces) * RichFaces lacks many components that are "standard" * RichFaces API is lacking as well as the quality (I find that if you use their controls slightly differently than they tested them you starting hitting all kinds of problems) >From what I have seen so far with trinidad, I have not seen any of the ajax functionality really exposed. Are there any components equivalent to a4j:support, a4j:region, a4j:poll? How easy is it to write custom trinidad ajax components? So really, I just want to hear how the trinidad functionality stacks up against A4J Thanks, Andrew

