Apollo for Adobe Flex Developers Pocket Guide

Book description

Written by members of the Apollo product team, this is the official guide to the Alpha release of Adobe Apollo, the new cross platform desktop runtime from Adobe Labs.

Apollo for Adobe Flex Developers Pocket Guide explains how to build and deploy Flash-based Rich Internet Applications (RIAs) to the desktop using Adobe's Flex framework. This book describes concisely how Apollo works, and offers numerous examples for those who want to start building RIAs for the desktop right away.

Why put RIAs on the desktop? They're already supposed to offer the responsiveness of desktop programs. Unfortunately, web browsers were designed to deliver and display HTML-based documents, not applications. The conflict between document- and application-focused functionality creates several problems when deploying applications via the browser.

Adobe Apollo gives you the best of both worlds -- the web development model and true desktop functionality. This pocket guide explains how to:

  • Set up your development environment
  • Create your first application
  • Use the File I/O API
  • Use HTML within Flex-based Apollo applications
  • Use the included Apollo mini-cookbook for common tasks
The book also includes a guide to Apollo packages, classes, and command-line tools. Once you understand the basics of building a Flex-based Apollo application, this pocket guide makes an ideal reference for tackling specific problems.

Adobe Developer Library is a co-publishing partnership between O'Reilly Media and Adobe Systems, Inc. and is designed to produce the number one information resources for developers who use Adobe technologies. Created in 2006, the Adobe Developer Library is the official source for comprehensive learning solutions to help developers create expressive and interactive web applications that can reach virtually anyone on any platform. With top-notch books and innovative online resources covering the latest in rich Internet application development, the Adobe Developer Library offers expert training and in-depth resources, straight from the source.

Publisher resources

View/Submit Errata

Table of contents

  1. Preface
    1. Apollo Runtime Naming Conventions
    2. What This Book Covers
    3. What Alpha Means
    4. Audience for This Book
      1. What Does This Book Assume?
      2. Who This Book Is For
      3. Who This Book Is Not For
    5. How This Book Is Organized
    6. How to Use This Book
    7. Conventions Used in This Book
    8. License and Code Examples
    9. Support and More Information
      1. Accessing the Book Online
      2. Online Apollo Resources
        1. Apollo site
        2. Apollo Developer FAQ
        3. Apollo Developer Center
        4. Apollo API Reference
        5. Apollo Documentation
        6. Apollo Forum
        7. Apollo coders mailing list
        8. Mike Chambers weblog
        9. MXNA Apollo Smart Category
        10. Flex Developer Center
        11. OnFlex.org
        12. Flex coders mailing list
        13. Universal Desktop Weblog
    10. How to Contact Us
    11. About the Authors
      1. Mike Chambers
      2. Robert L. Dixon
      3. Jeff Swartz
    12. Acknowledgments
  2. 1. Introduction to Apollo
    1. 1.1. A Short History of Web Applications
    2. 1.2. Problems with Delivering Applications via the Browser
      1. 1.2.1. Conflicting UI
      2. 1.2.2. Distance from the Desktop
      3. 1.2.3. Primarily Online Experience
      4. 1.2.4. Lowest Common Denominator
    3. 1.3. Introducing the Apollo Runtime
    4. 1.4. Primary Apollo Technologies
      1. 1.4.1. Primary Application Technologies
        1. 1.4.1.1. Flash
        2. 1.4.1.2. HTML
          1. 1.4.1.2.1. Why WebKit?
          2. 1.4.1.2.2. Open project
          3. 1.4.1.2.3. Proven technology that web developers know
          4. 1.4.1.2.4. Minimum effect on Apollo runtime size
          5. 1.4.1.2.5. Proven ability to run on mobile devices
      2. 1.4.2. Primary Document Technology
        1. 1.4.2.1. PDF
        2. 1.4.2.2. HTML
      3. 1.4.3. What Does An Apollo Application Contain?
        1. 1.4.3.1. Technology Integration and Script Bridging
      4. 1.4.4. Apollo Functionality
        1. 1.4.4.1. Apollo Programming APIs
        2. 1.4.4.2. Apollo Desktop Integration
      5. 1.4.5. Apollo Development Toolset
      6. 1.4.6. Is Apollo the End of Web Applications in the Browser?
  3. 2. Getting Started with Apollo Development
    1. 2.1. Installing the Apollo Alpha 1 Runtime
      1. 2.1.1. Windows Installation
      2. 2.1.2. Mac OS Installation
    2. 2.2. What You Need in Order to Develop Apollo Applications
      1. 2.2.1. Downloading and Setting Up Flex Builder 2.0.1 and Apollo Extensions
      2. 2.2.2. Downloading and Setting Up the Apollo SDK
        1. 2.2.2.1. Installation and Configuration on Mac OS
        2. 2.2.2.2. Installation and Configuration on Windows
    3. 2.3. Building a Sample Apollo Application
      1. 2.3.1. Building and Debugging the Hello World Application in Flex Builder 2.0.1
      2. 2.3.2. Building and Debugging the Hello World Application Using the Apollo SDK
      3. 2.3.3. Packaging and Distributing the Hello World Application
        1. 2.3.3.1. Packaging the application using Flex Builder 2.0.1
        2. 2.3.3.2. Packaging the application using ADT
        3. 2.3.3.3. Distributing and installing your application
    4. 2.4. Next Steps
  4. 3. Using HTML Within Flex-Based Apollo Applications
    1. 3.1. HTML Support in Apollo
      1. 3.1.1. The HTMLControl class and the Flex HTML Component
    2. 3.2. Using the Flex HTML Component
      1. 3.2.1. Navigating to a Web Page
      2. 3.2.2. Loading HTML from a String
      3. 3.2.3. Knowing When the Location Has Changed
      4. 3.2.4. Manipulating the HTML DOM
      5. 3.2.5. Applying CSS Styles to the HTML Component
      6. 3.2.6. Manipulating the HTML Component as a Sprite
      7. 3.2.7. Accessing the Underlying HTMLControl object
    3. 3.3. Using the HTMLControl Class
      1. 3.3.1. Loading HTML from a URL Location
      2. 3.3.2. Loading a String Value Containing HTML Text
      3. 3.3.3. Manipulating the HTML DOM
      4. 3.3.4. Knowing When the Content Bounds Change
    4. 3.4. Script Bridging: Communicating Between ActionScript and JavaScript
      1. 3.4.1. Manipulating the DOM from ActionScript
      2. 3.4.2. Listening for JavaScript Events from ActionScript
      3. 3.4.3. Calling JavaScript Functions from ActionScript
      4. 3.4.4. Calling ActionScript Functions from JavaScript
  5. 4. Using the File System API
    1. 4.1. Security Model
    2. 4.2. Accessing Files and Directories
      1. 4.2.1. File Class Properties for Accessing Common Directory Locations
      2. 4.2.2. The url and nativePath Properties of a File Object
      3. 4.2.3. URI Schemes
        1. 4.2.3.1. app-storage
        2. 4.2.3.2. app-resource
        3. 4.2.3.3. file
    3. 4.3. Asynchronous and Synchronous Versions of Methods
    4. 4.4. Reading Directory Contents
    5. 4.5. Getting File Information
    6. 4.6. Copying and Moving Files and Directories
    7. 4.7. Creating Files and Directories
    8. 4.8. Deleting Files and Directories
    9. 4.9. Reading and Writing Files
      1. 4.9.1. The open( ) and openAsync( ) Methods
      2. 4.9.2. File Open Modes
      3. 4.9.3. Read and Write Methods
      4. 4.9.4. More Information
  6. 5. Apollo Mini-Cookbook
    1. 5.1. Working with the File System
      1. 5.1.1. Writing a Text File from a String
        1. 5.1.1.1. Problem
        2. 5.1.1.2. Solution
        3. 5.1.1.3. Discussion
      2. 5.1.2. Reading a Text File into a String
        1. 5.1.2.1. Problem
        2. 5.1.2.2. Solution
        3. 5.1.2.3. Discussion
      3. 5.1.3. Encoding Bitmap Data into PNG or JPEG Format and Writing It to the File System
        1. 5.1.3.1. Problem
        2. 5.1.3.2. Solution
        3. 5.1.3.3. Discussion
      4. 5.1.4. Serializing and De-Serializing ActionScript Objects to the File System
        1. 5.1.4.1. Problem
        2. 5.1.4.2. Solution
        3. 5.1.4.3. Discussion
      5. 5.1.5. Browsing for a File
        1. 5.1.5.1. Problem
        2. 5.1.5.2. Solution
        3. 5.1.5.3. Discussion
      6. 5.1.6. Getting a Directory Listing
        1. 5.1.6.1. Problem
        2. 5.1.6.2. Solution
        3. 5.1.6.3. Discussion
    2. 5.2. Working with HTML
      1. 5.2.1. Recognizing When a Page Has Fully Loaded
        1. 5.2.1.1. Problem
        2. 5.2.1.2. Solution
        3. 5.2.1.3. Discussion
      2. 5.2.2. Altering the Appearance of the HTML Component
        1. 5.2.2.1. Problem
        2. 5.2.2.2. Solution
        3. 5.2.2.3. Discussion
    3. 5.3. Using the Windowing API
      1. 5.3.1. Making a Window Transparent
        1. 5.3.1.1. Problem
        2. 5.3.1.2. Solution
        3. 5.3.1.3. Discussion
      2. 5.3.2. Using Your Own Window Chrome Elements
        1. 5.3.2.1. Problem
        2. 5.3.2.2. Solution
        3. 5.3.2.3. Discussion
      3. 5.3.3. Moving and Resizing a Window That Uses Custom Chrome
        1. 5.3.3.1. Problem
        2. 5.3.3.2. Solution
        3. 5.3.3.3. Discussion
      4. 5.3.4. Making a Window Cast a Shadow on the Desktop
        1. 5.3.4.1. Problem
        2. 5.3.4.2. Solution
        3. 5.3.4.3. Discussion
      5. 5.3.5. Saving and Restoring the Size and Position of a Window
        1. 5.3.5.1. Problem
        2. 5.3.5.2. Solution
        3. 5.3.5.3. Discussion
  7. A. Apollo Packages and Classes
  8. B. Apollo Command-Line Tools
    1. B.1. AMXMLC
    2. B.2. ADL
    3. B.3. ADT
  9. Index
  10. About the Authors
  11. Copyright

Product information

  • Title: Apollo for Adobe Flex Developers Pocket Guide
  • Author(s): Mike Chambers, Rob Dixon, Jeff Swartz
  • Release date: March 2007
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596513917