You are previewing Macromedia® Flash™ MX 2004 for Rich Internet Applications.
O'Reilly logo
Macromedia® Flash™ MX 2004 for Rich Internet Applications

Book Description

The long-stale page metaphor for Web sites is finally dying out, replaced by the single-screen rich-Internet apps that Flash MX 2004 is at last bringing to the mainstream. To stay ahead of the curve¿and to start creating the kind of Web sites you used to only dream of¿you need this guide. In these pages you'll learn how to create the sites that more and more companies are demanding¿the kind that pull complex data from multiple sources for delivery via a single Web interface, so that users can perform multiple functions from a single screen. The focus here is on building the Flash MX 2004 front end to work with that complex data. You'll learn how to structure applications to eliminate page refreshes while reducing download time, build real-time and time-delayed applications with Flash Communication Server, integrate technologies like Flash Remoting and Macromedia Central, and more. You can even download all of the source files form the book's companion Web site.

Table of Contents

  1. Copyright
    1. Dedication
  2. About the Author
  3. About the Technical Reviewers
  4. Acknowledgments
  5. Tell Us What You Think
  6. Introduction
    1. Flash Comes of Age
    2. Flash MX 2004 Versus Flash MX Professional 2004
    3. The Parts of This Book
      1. Part I: Development (Chapters 1 and 2)
      2. Part II: Technology (Chapters 3 Through 9)
      3. Part III: Productivity (Chapters 10 Through 13)
    4. Who Should Read This Book
    5. Who This Book Is Not For
    6. Conventions
      1. Last First Word
  7. I. Development
    1. 1. Replacing Web Pages with Applications
      1. The End of Web Pages
      2. A Short History of Internet Applications
        1. Milestones and Killer Apps
          1. The Multimedia Computer
          2. Everyone on the Internet
        2. Flash’s Standing
          1. Not Java
          2. Not Director
          3. Not HTML or JavaScript
        3. Flash’s Coming of Age
          1. What’s New?
          2. Where Flash Fits In
      3. Glossary
        1. Places or Times
        2. Things
        3. Technologies
        4. Hot Words
      4. Makeovers
        1. Broadmoor Hotel
        2. XML News Aggregator
        3. Stampede Cattle
      5. Summary
    2. 2. Designing Flash Applications
      1. Identifying the User Benefit
        1. Objectives
        2. Measuring Success
        3. Considering Alternatives
        4. Rationalizing “Rich Media”
      2. Selecting Technologies
        1. Tools
        2. Media Formats
          1. Raster Graphics
          2. Audio
          3. Video
        3. Deployment
          1. Building for the Browser
          2. Distributing Standalone Applications
      3. Using Macromedia Central to Target Occasionally Connected Computers (OCCs)
      4. Designing for Accessibility
        1. General Issues
        2. Vision
        3. Motor Skills
        4. Hearing
      5. Summary
  8. II. Technology
    1. 3. Technology Overview
      1. Data Handling
        1. Separating Code and Data
        2. Structuring Data
        3. Presenting Data
      2. Data Exchanging
        1. Loading
        2. Parsing
        3. Writing
        4. Synchronizing
        5. Ensuring Successful Data Exchange
        6. Web Services
      3. Application Servers
        1. Basics
        2. Concepts
        3. Integrating Flash
      4. Components
        1. Using Components
        2. Providing Data to Components
        3. Data Components
      5. How Flash Communication Server Works
      6. Technology Map
      7. Configuring Your Work Environment
        1. Configuration Folders
        2. Players
        3. Understanding localhost
        4. Publishing
      8. Summary
    2. 4. Working with Complex Data
      1. Structuring Data
        1. Data Types
        2. Homemade Objects Versus Arrays
          1. Making Generic Objects
          2. Benefits of Arrays
        3. Using Objects Like Arrays
          1. Dynamically Referencing Properties
        4. Associating Functions with Event Properties
        5. Comparison to DataProvider Object
        6. Sorting Data
          1. Using the sort() Method
          2. Using the sortOn() Method
        7. Building a Slide-Show Maker
      2. Summary
      3. Project Ideas
    3. 5. Presenting Data
      1. Formatting Text
        1. Using HTML Text
          1. Using the img src Tag
          2. Hyperlinks to Flash Functions (asfunction)
        2. Using CSS (Cascading Style Sheets)
          1. Importing CSS Definitions
          2. Formatting CSS Inside Flash
        3. Using the TextFormat Object
        4. Additional Layout Options
      2. Summary
    4. 6. Basic Data Exchange
      1. Saving Data with the Local Shared Object
        1. Using the Local Shared Object
          1. Seeing Whether a Shared Object is Populated
          2. Storing Shared Objects on the User’s Machine
          3. Flushing Data to Disk
        2. Practical Examples Involving Local Shared Objects
          1. Making a Skip-Intro (Forever) Feature
          2. Getting a Username Once
          3. Refining the Login App
          4. Save Feature for the Slide-Show Maker
        3. Limitations of the Local Shared Object
      2. Sharing Data Using the Local Connection Object
        1. Local Connection Fundamentals
        2. Creating a Guided Tour Help Feature
        3. Downloading Media into a Single Window
        4. A Better Back Button
          1. Using FlashVars in HTML
      3. Flat Data
        1. Formatting
        2. Importing
        3. LoadVars Object Fundamentals
        4. Advanced LoadVars Examples
          1. Displaying Download Progress
          2. Parsing Imported Data into an Array
        5. Server Interaction
          1. Loading Data from a Server Script
          2. Sending Data to a Server Script
          3. Getting Data Back from a Server Script
      4. XML Structured Data
        1. Loading XML
        2. Parsing XML
          1. Browsing Amazon Through Flash
      5. Summary
    5. 7. Exchanging Data with Outside Services
      1. Flash Remoting
        1. How it Works
        2. Basic Remoting
          1. Remoting Example
        3. Writing the Remote Method
        4. Remoting Tips
          1. Complex Data
          2. When to Use Remoting
      2. Data Management Components
        1. The Data Component Concept
          1. Connectors
          2. Bindings and Schema
          3. DataHolder Component
        2. DataSet Component
          1. Iterating Data
          2. Sorting and Searching
          3. Saving
        3. Resolvers
        4. Formatting Data
          1. Compose String
          2. Rearrange Fields
          3. Validation
        5. Additional Details
          1. Manual Scripts
          2. Debugging
          3. Proxy Script
      3. Summary
    6. 8. Foundation Communication Server
      1. Configuration
        1. Configuration Folders
          1. Applications Folder
          2. Conf Folder
            1. Adaptors and Virtual Hosts
            2. Editing Configuration Files
        2. Production Techniques
          1. Restarting
          2. Revisions
          3. Remote Production
      2. NetConnection
        1. Basic Connecting
        2. NetConnection Object Details
          1. Absolute Connections
          2. Ports and HTTP Tunneling
      3. Remote Shared Objects
        1. Setting and Accessing Data in Remote Shared Objects
        2. Synchronizing Values
          1. Using onSync Efficiently
        3. Architectural Decisions
        4. Practical Examples
          1. Example 1: Geographic Locator
          2. Example 2: Favorite Movie Vote Counter
      4. Streams
        1. A Channel Inside Your NetConnection
        2. Playing FLV Videos and MP3s
          1. Playing FLV Videos
          2. Playing MP3s
          3. Virtual Directories for Sharing Streams
          4. Playback Controls
        3. Publishing
          1. Accessing the User’s Camera and Microphone
          2. Publishing a Live or Recorded Stream
        4. Miscellaneous Tips When Publishing
          1. Microphone
          2. Camera
          3. Stream
      5. Why Server-Side ActionScript
      6. Summary
    7. 9. Advanced Communication Server
      1. Managing Connections
        1. Key Events
          1. onAppStart
          2. onConnect
          3. onDisconnect
          4. Application Object’s Additional Features
          5. Additional Client Object Information
        2. Accessing Remote Shared Objects from the Server Side
          1. Syntax Differences
          2. Locking
          3. Sending Messages on RSOs
        3. Messaging
          1. Using SharedObject.send()
          2. Using NetConnection.call()
        4. Optimizing
          1. It’s Still ActionScript
            1. Defining Functions Inside the Prototype
        5. Using Messaging Sparingly
      2. Server-Side Stream Object
        1. Publishing Existing Streams from the Server Side
        2. Republishing Portions of Client Streams
        3. Using Server-Side Streams to Log Events
      3. Integrating the Communication Components
      4. Summary
  9. III. Productivity
    1. 10. Production Techniques
      1. Exploiting Flash MX 2004 Features
        1. Find and Replace
        2. Actions Panel Tricks
          1. Toolbox
          2. Code Hints
          3. Code Navigator
          4. Code Cleanup
        3. Commands
        4. Project Panel
          1. Managing Files
          2. Setting Up Version Control
          3. Using Version Control
      2. Library Management
        1. Shared Library Items
        2. Runtime Shared Libraries (RSLs)
      3. Prototyping
        1. Being Sloppy
        2. Using Components
      4. Staging and Deployment
        1. Multimode Applications
        2. Creating Dummy Data
      5. Summary
    2. 11. Quality Assurance and Debugging
      1. Evaluating Quality
        1. Benefits to Client and Developer
        2. Finding and Assessing Bugs
        3. Taking a Deliberate Approach
        4. Client Management
      2. Ensuring Quality
        1. Building Proofing Systems
        2. Leaving Tracks As You Go
          1. Save As
          2. Documenting Inline
          3. Document Fixes
        3. Defining Testing Procedures
      3. Practical Debugging
        1. Basic Approaches
          1. Know Your Enemy
          2. Scientific Approach
        2. Homemade Debuggers
          1. Simple Debug Mode
          2. Building a Runtime Trace Window
        3. Using the Debugger Panel
          1. Watching Variables and Properties
          2. Stepping Through Code
          3. Remote Debugging
      4. The Error Object
      5. Summary
    3. 12. Using Components
      1. V2 Components
      2. Foundation Skills
        1. Populating Manually
        2. Populating with Script
          1. Using Properties and Methods
          2. Learning Properties and Methods
          3. Component Data Structure
            1. dataProvider
          4. Ascertaining Values
        3. Triggering Code
          1. The on Method
          2. Using addEventListener()
          3. Event Objects
      3. Applied Examples Using Components
        1. Text (Label, TextArea, and TextInput)
        2. ComboBox
        3. Using the List
        4. Advanced Components
      4. Styles, Skinning, and Themes
        1. Setting Styles
          1. Instance Versus Component Versus Global Styles
          2. Picking Styles
        2. Replacing Skins
          1. Applying a Theme
          2. Editing a Theme for One Movie
          3. Saving a Theme
      5. Summary
    4. 13. Building a Code Library
      1. Homemade Components
        1. Designing a Component
        2. Making a Component
        3. Enhancing Components
          1. Making a Compiled Clip
        4. Distributing Components (MXI)
      2. Your Script Style
        1. Think Modularly
        2. Advanced Techniques
          1. Functions as Constructors
          2. Extending the Prototype
      3. Storing Scripts
        1. AS Text Files
        2. Homemade Behaviors
        3. Beyond Flash
      4. Intro to JSFL (JavaScript Flash)
        1. Homemade Commands
        2. WindowSWF Custom Panel
        3. Other Uses for JSFL
      5. Basic Class Packages in AS2
        1. Structure
        2. Basic Skeleton
          1. Implied get/set Methods
          2. Modularizing by Extending
          3. Implementing an Interface
      6. Summary