Let me be honest. I use ItsNat. At ilikeplaces.com .
If you think I'd give a biased review, well I won't do that. I'm the last guy to allow technology lock-in. On the site, I've always tried to stick to standards (minimal workarounds) such as JPA, EJB and other popular Java standards. So with ItsNat, I was "more than cautious".
I should confess, ItsNat did not fail us so far. It has a "few" limitations, but but... I've been admiring it lately.
If any of you guys have used GMaps, you know that to create elements on the Google Map you use various variable definitions in Javascript. Quite amazingly, for a new feature I'm making, I am able to dynamically create the Javascript code on the server now, and send it based on user events to the client browser, upon a map-zoom drag etc.
Now you might think this is something small. Well, I think, and have experienced that itsNat gives a LOT of flexibility in coding, both on Java and Client side.
Still, I am cautious. You see, I've always hated that conversation with the HTML/Web Designer "Hey mike, pls leave those non html tags alone(jsf, other marku)"... "year whatever" says Mike... I've always wanted my html code to be clean of Java. I've always wanted it to have ONLY element ID's as the source of speaking to them. With itsnat "CORE" section, I've done this. Not one single ItsNat tag in my html code. And I'm happy about this.
That said, I AM worried(personal worry)
about how itsnat handles the DOM. So far I've managed to make the site itsnat safe. However, we all use a popular Javascript framework like JQuery. ItsNat does not like DOM manipulation on the client much. But you "can" negotiate a bit with the framework. So far, even Google Maps did not break my code. Complex pages too.
Speed is okay with ItsNat. I've no performance details. But lately Google crawls the site's .5 million pages at a rate of around 1 page per 1-4 seconds. The site survives on a 512MB ram with OPENEJB and the Database running on the same machine. Memory might be a concern but I cannot bother about this. I always avoid keeping Hard References on itsnat listeners, and the JVM garbage collects fully. So far, memory, not a problem.
So is itsnat good? yes. Better than pure JSP, or JSF, and Struts. I did some reasearch on triniad and other frameworks before choosing ItsNat. At that point, I'd only reviewd all frameworks, and done a small feasibility test on Itsnat. Though I continuously worry ItsNat will break its contract on DOM freedom on client, and seperation of html with java in its "core" section, so far, I've not been let down by the framework.
I always prefer things that do their job and get out of the way. I hate things that stay around after the work is done crying out "look i'm still here... I can do this... do that"...
So far, ItsNat, lets you do your JOB. Both as a Java and Web Designer. No interference. No limitations.
and if itsnat is gonna lock me in, I'd pray to be the first to find out :)