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
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. |
| |
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. |
|
|
|