Next: Existing interface builders Up: The Design of XF Previous: The Design of XF

# Interface builders

To support the development of graphical user interfaces, the usage of graphical development tools seems reasonable. The design of a graphical interface is a very important but also a very difficult task. Creating the code that implements the interface by constructing it interactively in a graphical tool can reduce the implementation expense. Great parts of the code implementing the interface can be generated automatically by the interface builder. This allows the developer to pay more attention to the design of the graphical interface. The inexperienced user has the chance to construct an interface by playing around, while the experienced user is supported to access the complete functionality that the graphical environment offers. It can also prevent coding bugs, as the automatically generated code is usually more structured, and better tested.

There exists a wide range of interface builders that are based upon different widget sets and on different implementation languages. Most of the interface builders provide the same basic functionality that can be summarized to the following four features:

- Object (widget) creation.
  The objects that form the interface of the application program can be created and deleted.
- Object (widget) parametrization.
  The objects that form the interface of the application program can be parameterized.

- Object (widget) layout.
  The objects that form the interface of the application program can be arranged.

- Functionality implementation.
  The code that implements the functionality of the application program can be created, or at least the automatically created code is prepared to be enriched by the functionality code.

But there are also some differences between the various interface builders. The differences occure because the interface builders support different widget sets and different languages. The targeted groups of users and application types vary as well.

- The implementation language.
  This point is not important for the automatically generated code, but it is important for the code that has to be written by hand. It also implies the general concept of the interface builder, as there exist compiled languages and interpreted languages. Compiled languages can lead to long turn around times, while interpreted languages can cause slow program execution.

- The supported widget set.
  This difference is not very important. Most widget sets provide the same basic functionality, but the supported widget set influences the look & feel of the interface builder and of the created applications.

- The level of integration.
  The application builders differ in the kind of objects they handle. In some interface builders, these objects are simulations of toolkit elements. The objects do not represent objects of a concrete widget set. Other interface builders represent objects of a concrete widget set, but the objects are not functional. The resulting application is in a special design mode. And another type of interface builders manipulate concrete objects that are fully functional. The resulting application is functional while it is built, there is no special design mode.

Next: Existing interface builders Up: The Design of XF Previous: The Design of XF