There are many benefits to using XForms over traditional HTML forms. Some of the most frequently mentioned benefits are:
Benefits of XForms
- Web Standard - XForms is a W3C standard and allows web applications to be created without lockin to any specific vendor such as Microsoft, Adobe or Apple
- Consistency with Other Standards - XForms was designed to be very consistent with other web standards such as CSS, XML Schema and XPath. If you know CSS then you can quickly learn how to style your XForms.
- Fewer "round trips" of pages being transferred from web server to web browser. This means that fewer web servers are needed in your DMZ and smaller bandwidth is needed between the client and the servers
- Clean and consistent use of MVC architectures
- Forms are easier to create, debug and maintain
- Forms can accommodate multiple languages and multiple currencies
- Forms have clear Separation of Concerns, meaning all your forms can share a common style sheet, model, bindings and presentation.
- Advanced user interface controls such as the XForms/Range control
- Extensibility of XForms (see XForms/Custom Controls)
- Allows the designer to focus on concrete business models and abstract user interfaces (attributed to Joern Turner)
The last point is very critical since business models are designed to be consistent with the business area that tend to be more constant over time. User interface technology on the other hand changes rapidly and must be highly contextual to a browser, browser version mobile device or table. This core philosophy of Separation of Concerns is one of the key elements to the philosophy of XForms and good human-machine interactions.
Disadvantages of XForms
Just to be fair, we should also mention the disadvantages. Most of these problems are related to the newness of XForms and will be mitigated over time:
- Web browser limitations have made it difficult for XForms tools vendors to support all XForms tags in all browsers
- Slow performance on very-large forms - forms with over 200 fields sometimes can be slow to load on some older browsers
- Few complete working XForms examples and applications exist (a problem which we are trying to correct with this book)
- Few high-quality and low-cost GUI forms builder tools exist today (with the exception of IBM's Workplace forms, OpenOffice Forms, Onyx Forms and few other tools)
You will note that most of the disadvantages of XForms are related to limitations of XForms clients, current browser shortcomings, or skills and training issues. There are few fundamental architectural disadvantages with XForms.
Analysis of XForms Nay-sayers
When there is negative discussion about XForms we have found that most of the negative comments about XForms usually comes from people with one or more of the following attributes:
- They don't understand the role that standards play in lowering the cost of software development
- They are trying to promote a vendor-specific proprietary technology
- They have very little actual real-world XForms experience or have not had strong mentorship by and experienced XForms consultant
- They do not appreciate the architectural advantages of MVC-based systems and the use of dependency graphs
- They are focused on the limitations of one or more specific browsers or XForms products
- They are comparing XForms with a problem domain outside of the scope of XForms charter such as graphics or complex navigation controls