7 ADF Mobile Browser

This chapter provides a high-level overview of the ADF Mobile browser technology, which enables you to develop user interfaces that can run within web browsers on mobile devices.

This chapter includes the following sections:

7.1 About ADF Mobile Browser

Oracle Application Development Framework Mobile (ADF Mobile) browser is a standards-based framework that enables the rapid development of browser-based enterprise mobile applications. Its mobile-specific extensions to JSF enable you to develop mobile applications using the same methodologies for developing JSF applications for the desktop.

As shown in Figure 7-1, ADF Mobile browser can be used with other parts of the ADF technology stack, such as ADF Controller, ADF Model, and ADF Business Components.

Figure 7-1 ADF Architecture with ADF Mobile Browser

diagram with ADF Mobile highlighted

7.2 Core Benefits of ADF Mobile Browser

ADF Mobile browser provides the following core benefits:

  • Enables you to develop applications that function properly on different browser types. You need not focus on the limitations (or capabilities) of different browsers.

  • Provides a rich component set and renderers that support these components in HTML browsers, including a rich renderkit for applications using AJAX technologies.

7.3 Key Concepts of ADF Mobile Browser

This section provides an overview of the key aspects of ADF Mobile browser and how they work on mobile devices.

7.3.1 ADF Mobile Browser Application Development

Using ADF Mobile browser, you can use the same programming model as you do for developing desktop browser applications. Development is almost identical to ADF web application development, except that ADF Mobile browser applications use only mobile JSF pages that consist of Apache MyFaces Trinidad components. These components render appropriately for small-screen mobile devices.

Note:

Enabling web pages that adapt to mobile browsers is just part of Oracle's mobile strategy. To learn about creating mobile applications that run natively on devices, see the Oracle ADF Mobile browser page on Oracle Technology Network at http://www.oracle.com/technetwork/developer-tools/adf/adf-mobile-browser-1864237.html.

7.3.2 Rendering of ADF Mobile Browser Components

ADF Mobile browser development focuses on components, not markup. When a user visits a page, the render kit specified by the user's device is used to encode the markup for the appropriate output. For example, if the user's device specifies HTML for a desktop browser, then the render kit's markup encoding results in an HTML page. Or, for example, if the user's device specifies HTML for a BlackBerry 4.6 device, then the render kit's markup coding results in a page that displays appropriately on that device.

For mobile browsers supporting AJAX, ADF Mobile browser supports partial page rendering (PPR) for certain components, which minimizes the amount of data requested from the server and improves application responsiveness. Using PPR, mobile device screen updates do not require a full refresh.

The ADF Mobile browser renderer ensures that contents can be consumed correctly by the target browser. It handles the variations in browser implementations of HTML, JavaScript, CSS, DOM, and XMLHttpRequest, as well as in system performance. For example, if a browser does not support XMLHttpRequest and is incapable of posting a partial page request to a server, ADF Mobile browser's support for Ajax (Asynchronous JavaScript and XML) enables the application to revert automatically to a full-page submit, thus allowing the page to function.

7.3.3 Skinning of ADF Mobile Browser Applications

ADF Mobile browser includes support for application skinning. Skinning enables a page to display consistently on a variety of devices through the automatic delivery of device-dependent style sheets. These style sheets enable the optimal display of pages that share the same page definitions on various mobile browsers. Within these style sheets, which enable you to set the look and feel of an application, you not only tailor a component to a specific browser by setting its size, location, and appearance, but you also specify the types of browsers on which components can be displayed or hidden.

7.3.4 Supported Mobile Browsers

The following are some of the mobile browsers that are supported:

  • BlackBerry 4.2 and later

  • Microsoft Windows Mobile 5 and 6

  • Apple iPhone Safari

  • Nokia s60 series

  • Plain HTML (such as Opera Mini, Opera Mobile, and Skyfire)

7.4 Key Components of ADF Mobile Browser

The following sections provide information on the major elements of ADF Mobile browser technology.

7.4.1 ADF Mobile Browser Components

ADF Mobile browser functionality enables you to develop applications that function properly on a wide variety of mobile browsers. ADF Mobile browser components are based on the component model of Java Server Faces (JSF) but with mobile-specific extensions, so you can develop mobile applications using the same methodologies for developing JSF applications for desktop web browsers. Specifically, ADF Mobile browser uses Apache MyFaces Trinidad components.

The following types of ADF Mobile browser components are available:

  • Input and output

  • Layout

  • Navigation

  • Data visualization (DVT)

  • Tables and trees

7.4.2 ADF Mobile Browser Renderers

ADF Mobile provides renderers that support the rendering of ADF Mobile browser components in HTML browsers and includes a rich renderkit for applications using Ajax technologies.

7.5 Overview of the ADF Mobile Browser Process Flow

Creating an ADF Mobile browser application consists of the following basic steps:

  1. In JDeveloper, create a Fusion web application.

    Alternatively, open an existing application workspace that contains a model project that encapsulates the business services that you want to use in the mobile browser application.

  2. In the application workspace, create a new custom project and include ADF Mobile browser functionality.

  3. Using wizards in JDeveloper's New Gallery, create high-level components such as task flows and ADF Mobile browser components.

  4. Design the behavior of the components using such elements as the data controls, declarative bindings, task flows, and backing Java code.

  5. Deploy the application to the built-in application server and test it on the relevant devices and emulators.

7.6 Learning More About ADF Mobile Browser

The following resources provide detailed information about using ADF Mobile browser in applications: