XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner or with presentation languages other than XHTML to describe a user interface and a set of common data manipulation tasks.
However, XForms does include an event model and actions for implementing more complex form behaviors.
[1] Actions and event handling are specified using the XForms XML dialect rather than more common scripting languages like JavaScript.
The following lists some implementations: FormFaces, AJAXForms, XSLTForms, betterFORM, Chiba, Orbeon and Smartsite Forms are based on Ajax technology.
The others use server-side Java/.NET XForms processing transcoding to Ajax markup prior to delivering the content to the browser.
Each implementation is significantly different with respect to dependencies, scalability, performance, licensing, maturity, network traffic, offline capability, and cross browser compatibility.
The tradeoff between server-side and client plug-in solutions is where the software is maintained; either each client must install the required plug-in, or the server architecture must change to accommodate the XForms transcoder engine language technology.
The combination of three technologies (XForms on the client, REST interfaces and XQuery on the server) is collectively known as XRX application development.
XRX is known for its simple architecture that uses XML both on the client and in the database and avoids the transformations to object or relational data structures.