Web Applications with Xforms 2.0

Steven Pemberton, CWI, Netherlands

XForms was first introduced in 2002. As the name suggests, it was originally designed as a mark-up language to describe electronic forms for the Web, offering major advantages over traditional HTML forms, such as typed data that could be automatically checked by the browser before submission, structured data, easy initialisation, automatically calculated values, device independence and much more.

However, initial experience with the language showed that since it had input, output, and a calculation engine, with relatively small amounts of generalisation XForms could be used not only for forms, but for applications in general. And so was born XForms 1.1, which since then has been implemented and applied in a large number of diverse applications and environments, by major companies including IBM, EMC, Xerox, the US Navy, several governments, and it is an integral part of ODF, the open office document format.

Experience with this version of XForms has been good. In particular it has been observed from several projects that it is about an order of magnitude easier to produce an application using XForms than programming it with a procedural programming language (such as Javascript). This includes one major project that reduced the resources necessary from 5 years with 30 people to 1 year with 10! This is largely due to the declarative nature of programming with XForms, where you specify what you want to happen, and not how it should be done, thus leaving much of the administrative detail to the computer.

This year XForms 2.0 is planned to be released, increasing the power and generality of the language. This tutorial will describe this new version of the language and how to build applications using it. Interesting applications will include a generalised mapping application as well as database access, and the possibilities of system programming.

Slides: http://www.cwi.nl/~steven/Talks/2013/05-14-webapps-xforms2/