The Developer Guide is targetted at developers that want to integrate betterFORM into their own applications and/or write extensions that are not provided by the standard distribution. It assumes at least basic familiarity with common standards like XML, XHTML, XPath, CSS, DOM as well as Java if extensions shall be developed.
It covers everything from building and setup of the different deployment scenarios to customization and the various extensibility features. It will further feature an introduction to the Java API of the Core XForms implementation.
„Forms are an important part of the Web, and they continue to be the primary means for enabling interactive Web applications. Web applications and electronic commerce solutions have sparked the demand for better Web forms with richer interactions. XForms 1.0 is the response to this demand, and provides a new platform-independent markup language for online interaction between a person (through an XForms Processor) and another, usually remote, agent. XForms are the successor to HTML forms, and benefit from the lessons learned from HTML forms.“
[XForms 1.0 W3C Candidate Recommendation 12.11.02, 1.1]
HTML Forms once made the Web interactive, allowing users to talk back to the servers they visit. Since then whole industries have built their profits on HTML forms as they have existed since the very beginning of HTML (Hypertext Markup Language). Many technologies have evolved around and build on top of the possibility to interact with users via the Internet.
Despite the immense impact HTML Forms have had on the development of the Web, years of use have shown that they are not suitable for today’s applications any more. Missing validation, data-typing and logic-components must be compensated with scripting which itself leads to bad maintainability and increasing development cost. The arrival and growing popularity of AJAX has not improved this situation. Though a huge variety of cross-browser libraries is available there’s also a lack of standards about the details of data formats, typing, submission control, events, validation and calculation etc. etc.
XForms is a open standard that addresses all these issues bringing rich interaction, a well-defined processing model and universal data management to improve the situation. It’s based on XML and therefore easy to handle, it offers self-describing data structures and is adaptable to any application or environment.
But there are things belonging to a full-flegded application that XForms intentionally leaves out: specifically layout and the concrete control or widget to the used to interact with the user. Implementations have to choose which widget set or UI markup they want to support on a specific platform. As XForms is platform- and device-independent no assumptions about specifica only available in a certain of client can be made. E.g. a voice client is not interested in layout altogether.
Therefore betterFORM on the one hand provides an implementation of the XForms standard but does more by providing a toolkit of controls and layout containers to build complete, dynamic web applications. It further wraps the whole thing in a non-intrusive architecture that’s easy to use with any existing application and is especially well-suited to work with applications that use XML as data format.