bgx:components logo
© 2004 -2005
Bernhard Gaul



Training : Flash Application Development

The application development capabilities of Flash are by now well proven. But still it seems that for most web applications a HTML front end is chosen while Flash is only used to provide the eye candy.

Possible reasons for that are:

  • Traditionally trained developers often know little of Flash and Flash designers get little training in actual application development.
  • The absence of clear application strategies and coding standards.
  • Just the way Flash permits attaching code to nested graphics, that makes it difficult to share Flash projects. A fact that Macromedia tried to remedy by introducing Flex.

Even though Flex might be a good choice for certain requirements it is often too costly, gives little choice in look and feel and is dependent on server technologies. Apart from that Flash has all the capabilities to create Rich Internet Applications that can be

  • scaleable
  • modular
  • self contained
  • and portable to any back-end that is capable of providing data in XML or even text format.

Below you find a course outline that could introduce your developers/designers in 3-5 days to the basics of Flash Application Development. Depending on previous knowledge individual sections can be summarized or extended.

For in-house training also working on concrete projects would be an option to get a better hands-on introduction. Any other aspect of Flash development can be included on demand.

For further information please contact info@bgxcomponents.com.

 

Course Outline: Flash Application Development, ActionScript 2.0

The following is an outline for a 3-5 day course. It is designed to give a good introduction into the principles of data handling and dynamic design in Flash, as well as application planning and structuring.

Focus will be drawn on understanding the principles of data driven development by manually loading data and processing it as well as using pre-built visual components.

A general application sample (e.g. a staff management application) will be used to apply hands-on the concepts of preparing and structuring data, sequencing loading and data binding, internal data handling and saving data.

Flash Remoting will be regarded as an option but not as the principle back-end for application development in this course. On demand more focus could be given to Flash Remoting, Webservices, loading raw XML etc.

All sections can be extended, left out or given more or less focus depending on company needs and/or trainee knowledge. 

The items marked with (?) are quite specific and could lead away from the overall goal. The idea is to introduce them and point to examples for further study. But again on demand more focus could be put on any of them.

 
Subjects Comment

Introduction 


  • Rich Client Applications for the Internet and CD
  • Application models
  • Databases + XML
  • What is expected from the server side
Overview Flash and Web Applications
Loading, Parsing and Binding Data

Data Structures: XML, QueryString, Custom

  • Passing Url parameters to Flash
  • Loading Text (QueryString, custom)
  • Loading XML
Understanding of data formats Flash can load, evaluation of format based on application needs

ActionScript 2.0 Variables and Data Collections

  • Data Typing 
  • Arrays and Objects
  • Creating "HashTables" and DataProviders
  • Creating Class Objects
Basics of data storage and transformation in Flash.

Binding Data to Display Objects

  • Displaying data in TextFields
  • Creating an Interface using UI Components
    • TextInput and TextArea
    • ComboBox and List
    • CheckBox and RadioButton
    • DataGrid
    • Loader (loading external graphics based on data details)
    • Tree Component (?)
  • Creating data binding functions for UI segments
Introduction to UI layouts and data binding using diverse UI components.

Complex Data Handling

  • Using MM Data Components (DataSet, DataHolder, XMLConnector)
  • Using the Bgx Serialization Classes
  • Consuming WebServices
  • Flash Remoting
Ways of preparing complex data for quick access, sorting, filtering etc.
Making Your Data Interact

Understanding Component Interaction

  • Assigning event handlers to components
    • Example: creating a master-detail screen
Understanding the new AS 2.0 event dispatch model as well as the standard "on..." event handling.

Creating dynamic data based graphics

  • Setting properties on existing MovieClips
    • Example: building a data driven gauge
  • Creating and attaching MovieClips and TextFields
    • Example: creating a print layout on the fly
Understanding of how to create dynamic graphics from scratch. Also builds the base for creating custom UI components. 
Application Architecture and Design Strategies

Creating Shareable Projects

  • Implementation of Coding Standards
  • Separating Code from Graphics / Using External Editors
    • Example: Using the SE|PY ActionScript Editor (open source )
    • Using the Project Panel
    • Naming standards for .as files
Flash code attached to nested graphical elements usually results in tremendous time loss and frustration if projects need to be shared between developers. Separating the code from the graphics and implementing coding standards goes a very long way in increasing efficiency.

Creating Flexible Projects

  • Keeping settings externally
  • Keeping language definitions externally
  • Use initializers to apply and re-apply settings
  • Using external libraries
  • Splitting Flash projects to create exchangeable, reusable components
Plan your project structure so that pieces can be re-used or exchanged as needed.

Creating Portable Projects

  • Relative paths strategies: Making each Flash Project a potential component for other projects
  • Strategies to create independent Flash clients that can be deployed regardless of server back-end technologies or even on CD
  • Understanding Limitations
    • Flash Remoting pros/cons
    • Security restrictions
    • Standalone/local projects vs. server based projects
Don't restrict yourself to a specific platform/server/distribution medium. Keep the Flash client as self contained as possible. You never know where it is needed tomorrow.
Editing and Saving Data

  • Modifying data in the Flash client
  • Modifying entire data structures vs. just taking track of changes
  • Saving modified data to the server
    • Using HTTP Form and QueryString
    • Sending XML
    • Using the WebService Connector (SOAP)
    • Saving locally from CD using Zinc (?)
    • Socket communication (??)
  • Shared Objects: Flash's version of cookies
Learn how to track changes and save them to the server or locally. May require also some server side scripting examples.
Introduction Object Oriented Programming

  • Understanding and using Classes
    • Example: changing the dynamic print layout created earlier into a PrintLayout class
Basic understanding of using Classes in ActionScript 2.0. In-depth coverage would need an extended course or even a separate one. Could be extended depending on knowledge of trainees.
Additionals

  • Creating Components
  • Introduction: Zinc (formally Flash Studio Pro) for advanced CD projects
  • Further Resources: Web sites, Books, Newsgroups
A few things that could be introduced so that they are known without going into too much detail.
Resources

Course Outline:
Flash Application Development, ActionScript 2.0

Download the outline in RTF format