Introduction to betterFORM

betterFORM is based on the W3C XForms 1.1 standard which is aligned with all of the other standards that make up the web (most prominently (X)HTML). XForms defines itself as „the next generation of forms technology for the world wide web“ (cite from W3C XForms homepage) and is supported and developed by major companies. betterFORM is a full implementation of XForms 1.1 plus additional functionalities to cover the last mile to a full web application toolkit.

betterFORM is a hybrid implementation of XForms – the actual XForms processor which implements the functionality of XForms lives on the server-side while the user interaction takes place in the browser via an Web2.0 interface. This allows a high degree of flexibility and integrates well with many enterprise-scale applications and environments. Though the user interface is highly dynamic the form author does not need to write a single line of script code as this is fully generated automatically. However for those that want to fine tune their user experience it is easy to add custom JavaScript at will.

betterFORM takes the server-side approach for good reasons:

there are no major browsers that implement XForms natively

to provide a consistent user experience across a broad range of devices the generation of user interface code is much more flexible and can take full advantage of the respective capabilities of a device may it be a desktop browser, a smartphone or a tablet computer

for sensitive applications it is not always desirable to expose your XForms model on the client. With betterFORM the model always stays on the server and there’s no way to access it. This has advantages when it comes to security and the protection of your development efforts.

While XForms has a powerful abstract Model-View-Controller architecture to build complex logic in forms it is by intend ignorant of layout. betterFORM offers some default layouts to ease the job of creating consistent layouts.

Typically Web 2.0 apps involve a lot of hand-crafted JavaScript code, require good knowledge of JavaScript, AJAX, DOM and others technologies and force you to test a lot to assert a good quality. Certain features like validations, calculations are coded over and over again to meet the specific needs of the application. Finally you have glue all this together with events and handle the states of your user interface with custom code. With XForms and betterFORM you build on a higher ground. Forget about the details of the browser technologies and how to build good-looking, dynamic webapps. Just use the declarative power of a markup language to express your logic, handle complex validations, speak to all kind of external datasources etc. betterFORM shields all the tricky details of state keeping, life-cycle management and data consistency from you and lets you concentrate on the purpose of your application.