Application Development
The development cycle for applications using MyMobileWeb is outlined in the figure below. For each use case (also called “Presentation Operation” in MyMobileWeb terminology) the developer provides a set of authored units (also called views or presentations) that specify the user interface for the use case in question. These authored units are XML files that define, declaratively and in a device independent manner the user interface. These XML files are composed by containers and abstract mobile visual components. Each presentation will be rendered in a different way depending on the delivery context or the rules provided by the programmer. . The layout and look and feel of visual components is specified using W-CSS plus specific extensions. The resources, typically images, are declared by means of resource identifiers.
Once the developer has defined the application use cases, XML authored units and look and feel, it has to be run an automatic code generation tool that processes the XML and the style sheets to generate:
- JSP pages, that will render the user interface specified in XML.
- Validation descriptors which will be used to perform automatic validations on the server side.
- A set of Javascript functions in charge of performing local validations for devices with client-side scripting capabilities.

At runtime, these JSP pages, in collaboration with a set of libraries and components, will be in charge of rendering the presentation according to different delivery contexts. This architecture, based on the pregeneration of pages, provides the best performance, as there is no execution of XSLT or similar at the server side. As it can be observed in the figure, a JSP page it is not generated for each device, only are generated as much JSP’s as needed, typically one for each markup technology. If there are redefinitions of presentations or styles, then more JSP pages are generated to satisfy those requirements.
Besides, developers need to specify:
- event handlers (Java classes) for the treatment of events triggered by each visual control.
- Application Operations (OAs) (Java classes) that will be in charge, when needed, of getting new data or performing business logic operations (in collaboration with services).
- Application resources, typically tiny images that will decorate the user interface. Developers can provide multiple variants of a resource and MyMobileWeb will select the best instance for each delivery context. For more complex scenarios, MyMobileWeb provides a transcoding component capable of adapting resources dynamically.
One of the more innovative approaches of MyMobileWeb in comparison with other frameworks is the data and content binding technology. Binding is a technique that enables a declarative association of data or content to visual controls. For example, if the developer is specifying that a tiny screen should have a table, at the same time he is declaring which is going to be the datasource (stored in the model) from which the table in question will get the data. At runtime MyMobileWeb will take care of getting the data and putting it into the table, paginating if necessary.










