You are previewing Adobe Flex 2: Training from the Source.
O'Reilly logo
Adobe Flex 2: Training from the Source

Book Description

Part of the Adobe Training from the Source series, the official curriculum from Adobe, developed by experienced trainers. Using project-based tutorials, this book/CD volume is designed to teach the techniques needed to create sophisticated, professional-level projects. Each book includes a CD that contains all the files used in the lessons, plus completed projects for comparison. This title covers the new development framework for Rich Internet Applications, Adobe Flex 2. In the course of the book, the reader will build several Web applications using Flex Builder and incorporating MXML and ActionScript 3.0.

Table of Contents

  1. Copyright
    1. Dedication
  2. Bios
  3. Acknowledgments
  4. Introduction
    1. Prerequisites
    2. Outline
    3. Technical Notes
    4. Who Is this Book For?
    5. The Project Application
    6. Standard Elements in the Book
    7. Adobe Training from the Source
    8. Adobe Authorized Training and Certification
    9. What You Will Learn
    10. Minimum System Requirements
  5. 1. Understanding Rich Internet Applications
    1. Understanding the Evolution of Computer Applications
    2. Breaking away from the Page-based Architecture
    3. Identifying the Advantages of Rich Internet Applications
      1. Business Managers
      2. IT Organizations
      3. End Users
    4. RIA Technologies
      1. Asynchronous Javascript and XML (Ajax)
      2. Flash
      3. Laszlo
      4. Flex
      5. Windows Presentation Foundation/XAML/Expression
  6. 2. Getting Started
    1. Getting Started with Flex Application Development
    2. Creating a Project and an MXML Application
    3. Understanding the Flex Builder 2 Workbench
    4. Running Your Application
    5. Creating a Second Application Page and Working in Design Mode
    6. Getting Ready for the Next Lesson
    7. What You Have Learned
  7. 3. Laying Out the Interface
    1. Learning About Containers
    2. Laying Out the E-commerce Application Using Design Mode
    3. Working with Constraint-based Layouts
    4. Working with View States
      1. Controlling View States
    5. Laying Out an Application in Source Mode
      1. Adding and Controlling View States with MXML
    6. What You Have Learned
  8. 4. Using Simple Controls
    1. Introducing Simple Controls
    2. Using Flex Explorer to Learn About Simple Controls
    3. Displaying Images
    4. Building a Detail View
    5. Using Data Binding to Link a Data Structure to a Simple Control
    6. Using a Form Layout Container to Lay Out Simple Controls
    7. Adding Radio Buttons and Date Fields to the Dashboard
    8. What You Have Learned
  9. 5. Handling Events and Data Structures
    1. Introducing Handling Events and Complex Data Structures
    2. Using the <mx:Model> Tag with a Creation Complete Event
    3. Building a Custom ActionScript Class
    4. Building a Method to Create an Object
    5. Building Shopping Cart Classes
    6. Exploring the Event Object
    7. What You Have Learned
  10. 6. Using Remote XML Data with Controls
    1. Retrieving XML Data with HTTPService
      1. Using ArrayCollections
      2. Using Collections as Data Providers
      3. Understanding Security Issues
    2. Populating a List with Retrieved XML as an ArrayCollection of Objects
    3. Populating a ComboBox Control and Programmatically Adding an Option
    4. Using XML Data with a Tree Control
      1. Understanding E4X operators
      2. Populating a Tree Control with XML Data
    5. Retrieving XML Data and Transforming it into an ArrayCollection of Custom Objects
    6. Using Data Binding with Complex Data Structures
    7. Sorting and Manipulating Shopping Cart Data
    8. Adding a Remove Button
    9. What You Have Learned
  11. 7. Creating Components with MXML
    1. Introducing MXML Components
      1. Understanding the Basics on How to Create a Custom Component
      2. Creating a Custom Component Step by Step
      3. Using Custom Components in Application Architecture
    2. Creating an Update/Delete Product Component and Instantiating It
    3. Popping Up Product Information When Clicking the Update and Delete Buttons
    4. Creating Another Value Object
    5. Creating a Data Manager Component for All Three Applications
    6. Using the New Data Manager Component
    7. Implementing Add Product Functionality
    8. Creating and Using a Component for the Dashboard Application
    9. What You Have Learned
  12. 8. Using Controls and Repeaters with Data Sets
    1. Introducing Using Data Sets
      1. Understanding HorizontalList and TileList Components
      2. Implementing a labelFunction
      3. Implementing an itemRenderer
    2. Displaying the Categories Using a HorizontalList and an itemRenderer
    3. Displaying Grocery Products Based on Category Selection
      1. Using a Repeater to Loop Over a Data Set
      2. Retrieving Data from Repeated Components
      3. Addressing Components Built by a Repeater
      4. Understanding Performance Differences Between TileList and Repeater
      5. Displaying Grocery Items Based on Category
    4. Coding States to Display Detailed Product Information
    5. Placing Products in the Shopping Cart
    6. What You Have Learned
  13. 9. Using Custom Events
    1. Understanding the Benefits of a Loosely Coupled Architecture
    2. Dispatching Events
    3. Declaring Events for a Component
    4. Identifying the Need for Custom Event Classes
    5. Building and Using the CategoryEvent
    6. Creating and Using the ProductEvent Class
      1. Using ProductEvent to Remove a Product from the Cart
      2. Using ProductEvent to Add a Product to the Cart
    7. Understanding Event Flow and Event Bubbling
    8. What You Have Learned
  14. 10. Creating Custom Components with ActionScript 3.0
    1. Introducing Building a Component with ActionScript 3.0
    2. Creating the Structure of the Class
    3. Overriding the createChildren() Method
      1. Creating a Button in ActionScript
      2. Using the addChild() Method to Add the Button to your Component
      3. Understanding chrome and rawChildren
      4. Using addChild on rawChildren to Add Elements to the Chrome
    4. Overriding the updateDisplayList() Method
    5. What You Have Learned
  15. 11. Using DataGrids and Item Renderers
    1. Introducing DataGrids and Item Renderers
    2. Adding a Generic DataGrid to ChartPod
    3. Adding HTTPService Calls to Dashboard
    4. Displaying the Shopping Cart with a DataGrid
      1. Add Inline Editing Control for DataGridColumn
      2. Create an MXML Item Renderer for Displaying the Product
      3. Create an Inline MXML Item Renderer for Displaying the Remove Button
      4. Update ShoppingCartItem with Set and Get Functions
    5. What You Have Learned
  16. 12. Using Drag and Drop
    1. Introducing the Drag and Drop Manager
    2. Dragging and Dropping Between Two DataGrids
    3. Dragging and Dropping Between a DataGrid and a List
    4. Using a Nondrag–Enabled Component in a Drag-and-Drop Operation
    5. Dragging a Grocery Item to the Shopping Cart
    6. What You Have Learned
  17. 13. Implementing Navigation
    1. Introducing Navigation
    2. Using a TabNavigator in the Data-entry Application
    3. Adding a Home Page and Checkout Page in the E-commerce Application
    4. Creating the First Step of the Checkout Process Displayed by a ViewStack
    5. Completing the Checkout Process Using the ViewStack
    6. What You Have Learned
  18. 14. Using Formatters and Validators
    1. Introducing Formatters and Validators
    2. Using a Formatter Class to Display Currency Information in the E-commerce Application
    3. Using Validator Classes
    4. Using Regular Expressions to Validate Data (Part 1)
    5. Using Regular Expressions to Validate Data (Part 2)
    6. Building a Custom Validator Class
    7. What You Have Learned
  19. 15. Using the History Manager
    1. Introducing History Management
    2. Implementing History Management within a Navigator Container
    3. Building a Custom History Manager
    4. What You Have Learned
  20. 16. Customizing the Look and Feel of a Flex Application
    1. Applying a Design with Styles and Skins
    2. Applying Styles
      1. Setting Styles Inline with Tag Attributes
      2. Understanding Style Inheritance
      3. Setting Styles with the <mx:Style> Tag
      4. Setting Styles with CSS files
    3. Skinning Components
      1. Graphical Skins
      2. Programmatic Skins
    4. What You Have Learned
  21. 17. Accessing Server-side Objects
    1. Introducing Server-side Objects
    2. Using the Event Model Remote Server Calls
    3. Configuring an Application to Work Locally
    4. Using a Web Service in the Dashboard
      1. Handling Web Service Results
      2. Calling Web Service Methods
    5. Using a Web Service in the DataEntry Application
    6. Uploading Files to the Server
    7. Centralizing Web Service Access
    8. Using Remote Object to Save an Order
      1. Update Flex Compiler Command
      2. Raise Order Confirmed Event in the Checkout Process
      3. Create and Call Remote Object
      4. Pass in ShoppingCart into Checkout Component
      5. Change State of the Application Back to Welcome
    9. Mapping ActionScript Objects to Server Objects
    10. What You Have Learned
  22. 18. Charting Data
    1. Exploring Flex Charting Components
      1. Available Charts
      2. Chart Packaging
      3. Parts of a Chart
    2. Laying Out the Initial Charts
    3. Populating Charts
      1. Specifying the Charts Series
    4. Adding Horizontal and Vertical Axes to Line and Column Charts
    5. Adding Legends to the Charts
    6. Limiting the Labels Shown on an Axis
    7. Interacting with Charts
      1. Mouse Over Events
      2. Click Events
    8. Adding Chart Events
    9. Adding Animations to the Charts
    10. Customizing the Look of Charts with Styles
    11. What You Have Learned
  23. 19. Introducing Adobe Flex Data Services
    1. Introducing Flex Data Services (FDS)
    2. Installing the Adobe FDS
    3. Creating a Flex Builder Project with FDS
    4. Using the Flex Proxy Service
    5. Creating a Named Proxy Service Destination
    6. What You Have Learned
  24. 20. Pushing Data with Adobe Flex Data Services
    1. Understanding Flex Message Services
    2. Creating a New Project in Flex Builder
    3. Understanding How the Flex Message Service Works
    4. Enabling RemoteObject Calls to a ColdFusion Server
    5. Configuring a Message Destination
    6. Using the <mx:Consumer> Tag
    7. What You Have Learned
  25. 21. Synchronizing Data with Adobe Flex Data Services
    1. Introducing the Data Management Service
    2. Configuring Data Management Services
    3. Creating the Data Management CFCs
    4. Using Data Management Service Data in an MXML Application
    5. Creating and Deleting with the Data Management Service
    6. Where to Go from Here
    7. What You Have Learned
  26. 22. Creating Transitions and Behaviors
    1. Introducing Behaviors and Transitions
      1. Using Behaviors on Components
      2. Using Transitions on View States
    2. Implementing Effects on a Component
    3. Adding Effects to View States
    4. What You Have Learned
  27. 23. Printing From Flex
    1. Introducing Flex Printing
    2. Printing for the First Time from Flex
    3. Using the PrintDataGrid in a Nonvisible Container
    4. Building the Printable View in a Separate Component
    5. Scaling the Printed Output
    6. Printing a Receipt from the Checkout Process
    7. What You Have Learned
  28. 24. Using Shared Objects
    1. Introducing Shared Objects
      1. Creating Shared Objects
      2. Reading Shared Objects
    2. Building a SharedObject to Store Shopping Cart Data
    3. Reading Data from an Existing Shared Object
    4. What You Have Learned
  29. 25. Debugging Flex Applications
    1. Introducing Debugging Techniques
    2. Watching Server-Client Data Exchange
    3. Learning More About the Debugger
      1. Learning More Details About Setting Breakpoints
      2. Inspecting Variables and Their Associated Values in the Debugger
    4. Handling Errors with try-catch
      1. Using the try-catch Syntax
      2. Understanding the Error Types
      3. Using Multiple catch Blocks
      4. Example Using Only One catch Block
      5. Example Showing Bad Practice of Using the Error Base Class in the First catch Block
      6. Using the finally Statement
      7. Using the throw Statement
      8. Creating Your Own Error Classes
    5. What You Have Learned
  30. A. Setup Instructions
    1. Installing Flex Products
    2. Installing Lesson Files
    3. Installing the ColdFusion Extensions for Adobe Flex Builder 2
    4. Starting Flex Data Services and ColdFusion
    5. Installing Flash Debug Player