Why use betterFORM?
There are probably hundreds of ways today to build a webapp. Why should you consider betterFORM for the job?
- Quality: The betterFORM project was designed with modularity and extensibility in mind. The code has undergone many years of development, testing and improvement and has been successfully used in dozens of projects in the fields of banking, eCommerce, eHealth, aeronautical information Management, science, business process management (bpm), payment services and enterprise content management (ecm).
With a testset of about 600 unittests, the greatest measure of compatibility with the standard is achieved for the core processor. This is constantly retested to keep up with the developers of other libraries and browsers. Consequently, betterFORM passes a minimum of 98,5 % of the official XForms 1.1 test suite as released by the W3C with improvements contributed frequently.
- Minimal-intrusive architecture: betterFORM comes as a Servlet filter filtering requests to certain URLs on your server. Pages that contain XForms markup will be handled by betterFORM automatically. This will be completely transparent to your application just by editing your web.xml and without any coding involved. As an alternative deployment betterFORM can be installed as a separate WAR file alongside your webapp. XForms pages will then be forwarded to betterFORM for processing. Both applications will be completely separated from each other allowing selective upgrading of each of the webapps.
- Zero-install: XForms is a powerful new standard but not natively supported by current browsers on the market. Server-side XForms can deliver cross-browser compatible user interfaces without the need of any kind of installation or plugin.
- Declarative: XForms is a declarative language which makes it powerful for Rapid Application Development. Main advantage is that XForms is designed for a purpose (what it should do) and not saying HOW it’s done. Besides the controls you also get a declarative event, action and submission model so all aspects of an application can be covered from I/ O to presentation without writing a single line of imperative code. Not stopping there you can still extend your pages with custom script and use the rich features of the Dojo toolkit.
Dojo itself can be used in a declarative manner so mixing and matching XForms and Dojo is a natural fit. Especially in layout Dojo can help with TabContainers, BorderLayout, ContentPanes and others without interfering with XForms in any way.
- Data typing, validation and calculation: XForms provides strong datatyping for your app and takes care that everything is valid and consistent in your data. Extension functions allow to bind even the most complex validators or calculators and give you the choice between different languages to implement them.
The dependency engine is an outstanding feature of XForms to track the most complex relationships between data nodes and to automatically keep everything in sync. At the same time the algorithm used is optimized to calculate only those nodes that really needed at a given time. Don’t worry about the execution sequence to get the right results. Just markup your constraints and calculations and the dependency engine will do the rest.
- Ideally suited for REST and XRX: Integration with RESTful services or architectures is a matter of minutes. In combination with XQuery even complex data-management tasks can be handled. When your data is already XML you can hardly get a faster development process.
- Open Souce: betterFORM is licensed under the BSD and Apache 2 licenses which are very loose and business-friendly. An open standard and a free license avoid vendor lock-in and protect your investments.