Accessibility

Table of Contents

Architecting Flex Applications

Capturing the Application Requirements

Every application is designed to solve some kind of business problem, and usually the first step in the development life cycle is to gather the application requirements. In this article, I use Flex Store, one of the sample applications packaged with Flex, as a case study (see Figure 1). You don’t need to install Flex, the Flex Store sample app, or be familiar with the application to read this article.

The Flex Store application

(+) View Larger

Figure 1. The Flex Store application.

The Flex Store is a traditional shopping cart application. The initial requirements for the shopping cart application included:

  • Browse the product catalog. The application retrieves product data using an existing web service and provides different views to look at the same data. You can browse the product catalog using a Thumbnail View or a Grid View. As you switch between views, the Flex Store app doesn't need to go back to the server to show you the alternate views.
  • Look at product details. When you click a product in the product catalog (Thumbnail View or Grid View), details about the product appear in the Product Details panel.
  • Add items to the shopping cart. You can add items to the shopping cart by clicking the Add to Cart button or dragging an item from the product catalog and dropping it into the shopping cart. This process automatically updates the shopping cart total.
  • Filter the product catalog. You can specify a price range using the slider at the bottom of the screen. The application fades out products that fall outside of your price range.
  • Sort the product catalog. You can sort the product catalog by price or by product name. Sorting the product catalog doesn't require the Flex Store app to go back to the server to fulfill the request.
  • Check out. You can enter all the information required to process the order—name, address, shipping information, and payment information—in a single user interface.