UIX Developer's Guide |
Contents |
Previous |
Next |
This Developer's Guide provides a technical introduction to UIX and its underlying technologies. It tells how to develop all aspects of an application using the services provided by UIX.
This chapter contains the following sections:
UIX is an extensible, J2EE-based framework for building web applications. It is based on the Model-View-Controller (MVC) design pattern, which provides the foundation for building scalable enterprise web applications. (See http://java.sun.com/blueprints/patterns/ for information about the MVC pattern.) UIX is server-based and supports a variety of clients, including web browsers and mobile devices. While UIX is based on Java technology, Java is not required on the client.
The main focus of UIX is the user presentation layer of an application, with additional functionality for managing events and for managing the state of the application flow. UIX is designed to create applications with page-based navigation, such as an online human resources application, rather than full-featured applications requiring advanced interaction, such as an integrated development environment (IDE).
There are many reasons to use UIX:
UIX is platform independent because it is implemented in the Java programming language and other portable web technologies.
UIX supports a wide range of client agents, with more to come. For instance, UIX adjusts its presentation for various browsers and locales. It also supports rendering for mobile devices.
Applications written to the UIX technology stack maintain a consistent appearance. UIX uses high level user interface controls, which are consistently rendered across applications.
UIX applications may be customized at multiple levels. You can change many aspects of the application independently, including page layout, styles, and imaging. The environment makes simple customizations easy, and more complicated customizations possible.
If you choose, much of your UIX development can be declarative, using uiXML, an XML language for creating UIX pages and managing application flow. uiXML documents define a user interface including page layouts, styles, and many other features. No programming is involved, and changes can be deployed without recompiling.
UIX is designed with localization and internationalization support in mind. Its rendering technologies automatically adjust for the target client's locale, and the framework is built to help separate localizable content from the user interface.
UIX provides features to support accessibility, so that your UIX applications are usable by a wider audience. Much of the work for adding accessibility is done for you, and utilities are provided for the rest. UIX can automatically generate extra information for those with special needs and can also optimize your application for other users.
High performance has been designed into the framework, such as the caching and reuse of shared resources.
By providing these features, UIX helps to reduce the amount of work needed to get an application running, tested, and customized.
If your user interface requires advanced interactions such as drag-and-drop, code editing, or visual design, you should use a more complicated user interface technology than UIX provides, for example client-side Java.