16 Work With Pages and Flows

As a fully functional app, an App UI can contain multiple flows, each of which can contain multiple pages. Every App UI has a default flow, and every flow has a default page.

A flow is a group of one or more pages that you treat as an independent unit to do some function in your App UI. For example, you might have a flow that contains the pages used to register a new person. Your App UI's pages are what your users see and interact with. You can build just about any type of page in VB Studio—simply drag and drop UI components onto the page, customize their behavior, and arrange them however you want. To display your data, you'd connect these components to REST services through service connections.

VB Studio gives you access to a rich set of UI components to build your page, from static ones like heading and avatar to charts and gauges that visualize data, even dynamic components that display content based on rules you define. You also have access to Redwood layouts, styles, and templates based on the Oracle standard for user experience. You can use these components—all based on Oracle JET—to create rich, attractive pages.

Typically, you'll design an overview page (using collection components like a table or list) to display your data, then add other pages to let users interact with that data. Once you have your overview page, you can use quick starts to add pages that provide common functionality, for example, a page to create a new record or one that displays the details of a row selected in a table or list.

All of this is done within a declarative and visual development environment known as the Page Designer, where what you see is really what you get. For advanced use cases, you can always write custom code using standard HTML5, JavaScript, and CSS techniques.

Note:

App UIs and fragments are developed pretty much the same way—you add UI components to a page or fragment and wire them to action chains and events, but pages and flows apply only to App UIs, not fragments. Fragments are meant to store page sections and components, not pages and flows.

Your App UI can access data from any data source available to your extension. It can be a source defined in a dependency, or a service connection you've added to your extension, including those used to access custom objects for Oracle SaaS applications.