

This is a hands-on introduction to developing Rich Internet Applications (RIAs) for the Adobe Flash Platform using the Adobe Flex 4 framework. Emphasized topics include:
Developers wishing to build rich Internet applications in Flex
Programming and XML experience
Introducing mastery learning
Understanding the course format
Reviewing the course prerequisites
Reviewing the course outline
Introducing the technologies
Building Flex applications
Experiencing web and desktop applications
Learning more about Flex
Understanding the Flex framework, SDK and tool
Understanding Adobe Flash Builder 4
Grouping projects with workspaces
Understanding the workbench
Understanding editors
Understanding views
Understanding perspectives
Adding and configuring components in Design mode
Using the New Flex Project wizard
Understanding how namespaces translate into Flex libraries
Assigning component properties
Setting component properties
Setting styles using a CSS style sheet
Compiling the application
Running the application
Controlling component layout in containers
Defining and using a custom component
Defining a skin class
Applying a skin class
Declaring non-visual objects in MXML
Defining inline event handlers
Generating event handler functions
Implementing data binding
Declaring and using bindable properties
Passing data to an embedded control through a custom component property
Capturing the current item in a list control
Using data binding to dynamically update visual controls
Adding and removing event listeners using ActionScript
Understanding classes
Understanding instances and objects
Understanding class relationships
Exploring the Flex framework classes
Creating class instances
Extending the Flex framework classes
Creating the property
Controlling access
Creating and using a public property
Creating a class
Packaging a class
Naming a class
Understanding the constructor
Creating class properties
Assigning property values through the constructor
Making properties or classes bindable
Introducing Spark vs MX components
Understanding components
Defining the layout property
Understanding the BasicLayout class
Understanding the HorizontalLayout class
Understanding the VerticalLayout class
Understanding the TileLayout class
Custom layout classes
Understanding how the containers work
Understanding the Spark containers
Reviewing the Application container
Introducing the Group container
Introducing the Panel container
Sample application layout
Introducing the BorderContainer
Understanding constraint-based layout basics
Rules to control component layout
Constraint-based vs. traditional container layout
Visually assigning anchors
Implementing the Scroller class
Handling Framework events
Handling user events
Using inline ActionScript in MXML
Defining a function in an MXML document
Creating functions in external files
Introducing the event object
Exploring event object properties
Datatyping the event object
Distinguishing currentTarget and target
Introducing event bubbling
Introducing the Form components
Using form components
Using the FormItem container
Creating a Form custom component
Using formatters
Creating a Validator with MXML
Creating a Validator with ActionScript
Handling Required Values
When validation fails
Using the NumberValidator Class
Suppressing automatic validation
Using the validate() method
Triggering multiple validators
Controlling container display
Introducing the MX navigator containers
Understanding ViewStack basics
Navigating with the LinkBar control
Navigating with the TabBar control
Displaying and resizing the ViewStack child containers
Deferring instantiation of ViewStack child containers
Setting the active ViewStack child container
Enabling buttons dynamically
Introducing view states
Creating view states in Design mode
Creating view states with code
Introducing the currentState property
Switching between states
Interacting with users using animated effects
Understanding effect basics
Reviewing available effects
Defining an effect
Playing an effect
Creating transitions
Generating the styles using the Appearance view in Design mode
Flash Builder automatically creates CSS file
Global vs Application selector
Creating Flex component selectors
Create custom component selectors
Applying a component skin via CSS
Descendent selector
id selector
Class selector
Pseudo selector
Understanding Spark skins
Setting styles inline in the MXML tags
Introducing the skinnable Spark container classes
Creating a skin for Spark components
Introducing FXG
Reviewing the contentGroup skin part for containers
Understanding a Button control’s skin part
Understanding the Panel container’s skin parts
Finding skin parts for any component
Choosing a component to display the skin part
Understanding skin states in Button component
Assigning properties for each state
Animating the button states
Defining the custom property in the custom component
Creating the skin and component contract
Referencing the properties in the skin
Using the Scroller with nonskinnable containers
Using the Scroller with skinnable containers
Using the HTTPService class
Process for making HTTP requests
Retrieving data with lastResult
Understanding the ArrayCollection results
Using results in data bindings
Handling results
Handling faults
Displaying messages with an Alert pop-up
Using result and fault handlers example
Using explicit parameter passing
Using parameter binding
Understanding the CallResponder class
Creating a master/detail form
Working with a model of generic data
Creating a model of typed data
Understanding value objects
Creating value objects
Reviewing classpaths and packages
Creating class files
Defining class access modifiers
Creating class constructors
Defining class properties
Instantiating an ActionScript class
Comparing ArrayCollection with ArrayList
Making ActionScript class properties bindable
Binding the view to the model
Binding two-way
Downcasting object references
The problem of using bindings
Creating loosely coupled components
Defining the event in the dispatching component
Triggering the event from a user or system event
Instantiating the event
Dispatching the event to the main application
Creating the extended class
Extending the Event class
Adding properties
Creating the constructor
Using the Metadata compiler directive
Dispatch the extended event
Handling the event in the main application
Accommodating a value object in the extended event
Passing a parameter to toggle event bubbling
Understanding DataGroup container basics
Implementing the DataGroup container
Using the default item renderer
Rendering visual controls
Mixing data item types
Understanding the limits of the default item renderer
Creating a custom item renderer
Creating a nested item renderer
Referencing an external item renderer class
Using data in an item renderer
Implementing the SkinnableDataContainer
Creating the skin component
Supplying data to a DataGrid control
Creating reusable label functions
Understanding Item renderers versus item editors
Introducing the types of item renderers and item editors
Using Spark components in <mx:DataGrid> item renderers
Compiling automatically
Modifying compiler settings
Embedding the SWF in the HTML wrapper
Understanding the runtime shared libraries
Creating an AIR project
Understanding some differences between Flex and AIR applications
Exporting a release build
Machine requirements
Software Requirements
Installing Flash Builder 4
Installing the Course Files