Gift Guide

Developing Flex 4 Components: Using ActionScript & MXML to Extend Flex and AIR Applications


The Complete Insider’s Guide to Building State-of-the-Art Components with Adobe’s Flex 4 Platform

“So many Flex books gloss over the details of component development, or focus just on MXML. Mike Jones has bucked tradition and written a book that can actually help beginning as well as experienced Flex developers. Mike covers topics that are not found in other books. This book is not on my shelf, it’s on my desk next to my keyboard.”

--Adrian ...

See more details below
Other sellers (Paperback)
  • All (12) from $10.77   
  • New (5) from $28.39   
  • Used (7) from $10.77   
Developing Flex 4 Components: Using ActionScript & MXML to Extend Flex and AIR Applications

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
$19.99 price
(Save 44%)$35.99 List Price


The Complete Insider’s Guide to Building State-of-the-Art Components with Adobe’s Flex 4 Platform

“So many Flex books gloss over the details of component development, or focus just on MXML. Mike Jones has bucked tradition and written a book that can actually help beginning as well as experienced Flex developers. Mike covers topics that are not found in other books. This book is not on my shelf, it’s on my desk next to my keyboard.”

--Adrian Pomilio, UX Developer, Railinc Corp., Cary NC

“Finally, a book that covers Flex components from the ground up. I’ve been working with Flex for several years, but I have to admit that I’ve never quite grasped component development fully, let alone their styling, packaging, and distribution. Thanks for this book, Mike; it was long overdue!”

--Stefan Richter, Editor,; Founder, muchosmedia ltd

Using Adobe’s Flex 4 framework, developers can build rich, immersive solutions more easily and quickly than ever. Much of Flex 4’s remarkable power is based on its component-based approach. Adobe provides many components “out of the box,” but you can accomplish even more by building your own. In Developing Flex 4 Components , world-renowned Flex and Flash developer Mike Jones thoroughly demystifies all facets of Flex component development, showing how to quickly create and deliver high-value components to the widest possible audience.

Jones introduces the Flex 4 component architecture, reviews its built-in components, and shows how they can be extended or incorporated into new components. Next, he walks through developing components from scratch, covering issues ranging from events to skinning. Finally, he turns to distribution, introducing best practices for everything from integration to documentation.

Jones draws on nearly 15 years’ experience developing with Flex and Flash. You’ll find extensive sample code, plus dozens of practical tips that are available nowhere else. After reading this book, you’ll be able to

• Set up your Flex and Flash Builder development environment

• Understand key differences between Flex 3 and Flex 4 component frameworks

• Learn how Flex components are typically structured, developed, and rendered

• Leverage ActionScript and MXML to quickly create components

• Implement view states, transitions, effects, and events

• Manipulate and store complex data collections

• Use Flex 4’s FXG and MXMLG to support skinning and styling

• Create components with Flash Professional CS5’s drawing tools

• Integrate components with Flash Builder

• Package components for easy distribution with or without source code

• Streamline implementation with manifests, design view extensions, and metadata

If you’re an experienced Flash, Flex, or AIR developer, this book will help you create any component you can imagine--and deliver solutions others can only dream about.

Read More Show Less

Product Details

  • ISBN-13: 9780321604132
  • Publisher: Addison-Wesley
  • Publication date: 1/24/2011
  • Series: Developer's Library Series
  • Pages: 309
  • Sales rank: 1,397,160
  • Product dimensions: 6.90 (w) x 8.90 (h) x 0.80 (d)

Meet the Author

Mike Jones has 14 years of experience developing for the Flash Platform. He was first introduced to Flash (then called Futurewave Splash) in November 1996, by his then Visual Arts studio manager while at a university. Suffice it to say, Flash made sense to Mike, and he literally ran with it and never looked back.

These days, Mike is a Platform Evangelist at Adobe and spends most of his time speaking with customers, presenting, and blogging and tweeting about the Flash Platform. Although developing is Mike’s first love, he never refuses the chance to speak at user groups and conferences about components, the Flex framework, AIR, and the Flash Platform in general.

A regular speaker at Flash on the Beach on topics such as “Flex Development in 60 Minutes” and Flex component development, anyone who has met Mike knows he speaks passionately about these technologies, which is the same passion that has kept him engaged as Flash and Flex have grown over the years. When he isn’t speaking or developing, Mike posts his thoughts and musings on Flash technologies on his blog ( He lives in Haslemere, England, with his wife Emma, new baby daughter Freya, and his cat JPeg.

Read More Show Less

Table of Contents

Preface xvii


Chapter 1 Getting Started 3

Flex 3

What Is Flex? 4

Flex SDK 4

Flex Development Versus Flash Authoring 5

Flash Builder Has No Drawing Tools or Timeline 5

Flex SWFs Are Massive 6

Flash Builder Has No Symbol Library 6

Flash Builder 6

What Does This Actually Mean to You? 7

Wrapping the Flex SDK 7

Installing Flash Builder 7

Downloading Flash Builder 8

Starting the Installation of Flash Builder 8

Launching Flash Builder 12

Creating Your First Project 12

Summary 16

Chapter 2 The Flex 4 Components 17

Components: A Potted History 17

Using Flex Components 19

Component Family Tree 20

Control Components 23

Navigator Components 31

Layout Components 34

Charting Components 37

AIR-Specific Components 37

Summary 39

Chapter 3 Anatomy of a Component 41

Component Life Cycle 41

Understanding the Structure 43

Component Constructor 44

Inherit, Composite, or Rolling Your Own 51

UIComponent 51

Something for Nothing 52

UIComponent for MXML 53

IMXMLObject 55

Template Components 56

Deferring Instantiation 56

Summary 60


Chapter 4 Creating Your First Component 63

MyFirstComponent 63

Creating the Class 65

Core Component Methods 66

Adding Some Form 66

Showing Yourself Off 68

Testing It Out 69

This Belongs to Me 70

Sibling Rivalry 73

MyFirstComponent (Revised) 74

Distilling MyFirstComponent (Halo) 74

Slimming Down with MXML (Halo) 76

Distilling MyFirstComponent Down (Spark) 80

Weapon of Choice 82

Summary 82

Chapter 5 Managing States 83

What Are States? 83

Flex’s View States 84

Creating States in MXML 86

Assigning States 87

stateGroups 87

Working with States in ActionScript 90

Overrides 91

Creating and Destroying View States 98

Adding States to Components 101

Worth Noting 103

Summary 103

Chapter 6 Effects and Transitions 105

Effects 105

Effect Types 105

Working with Effects 111

Declaring Effects 111

Triggering Effects 111

Orchestrating Effects 114

Working with MotionPath and Keyframe 117

Transitions 119

Summary 123

Chapter 7 Working with Metadata 125

What Is Metadata? 125

How Do I Use Metadata? 126

Working with Metadata 128

Exposing Information About Your Component 128

Describing Events 131

Exposing Styles and Effects 132

Embedding Assets 133

Binding Data 134

Setting Defaults 135

Working with Skins 137

Excluding Component Attributes 138

Altering and Deprecating Properties and Classes 139

Providing an Icon 140

And the Rest 140

Metadata in MXML 140

Creating Your Own Metadata Tags 141

Are Metadata Tags Classes? 141

Summary 145

Chapter 8 Events and Event Handling 147

Why Events? 147

Subscribers Versus Watchers 147

Asynchronicity 148

Event Flow 148

Dispatching Events 150

Adding Event Listeners 152

Custom Events 152

Extending the Event Class 153

Cloning Events 154

Dealing with Event Priority 155

Event Priority Constants 155

Countering Events 156

Event Propagation 157

Prevent Defaults 158

Summary 159

Chapter 9 Manipulating Data 161

Defining Component Data 161

Data Providers 161

KISS 162

Managing Data 163

Collections 165

Displaying Data 177

Data Renderers 177

Rendering the UI 178

Linking itemRenders to External Data 178

Summary 185

Chapter 10 Skinning and Styling 187

Spark Versus Halo 187

Spark Skin Life Cycle 187

Where Do I Start? 189

Working with SkinnableComponent 189

partAdded(), partRemoved() 189

getCurrentSkinState() 192

Creating Component Skins 193

FXG and MXMLG 194

Creating a Component Skin 194

Drawing Nonlinear Content 198

Spark Skins and Halo Components 200

Working with Properties and Styles 202

Using CSS 202

Custom Namespaces 202

Descendant Selectors 203

ID Selectors 204

Pseudo Selectors 204

Summary 205

Chapter 11 Creating Flex Components with Flash Professional CS5 207

Picking a Starting Point 207

Starting with Flash Professional 207

Starting with Flash Builder 4 209

Implementing States 212

Implementing Transitions 213

Controlling Component Resizing 215

Bounding Boxes 216

External Manipulation 216

Creating Component Visual Assets 218

Putting It All Together 219

Adding the Transition Animations 220

Properties and Methods 220

Metadata 221

Events 222

Externalizing Component Classes 223

Container Components 226

Summary 227


Chapter 12 The Flex Library Project 231

Packaging Your Component 231

SWC Format 231

library.swf 232

catalog.xml 232

Locale 233

Assets 234

Working with the Flex Library Project 234

Creating a Flex Library Project 234

What If It All Goes Wrong 242

compc 242

Summary 243

Chapter 13 Component Integration in Flash Builder 4 245

Why Integrate with Flash Builder? 245

What Can I Integrate With? 246

Panel Integration 246

Design View Extensions 253

Live Previews 261

Setting Default Styles 262

Summary 263

Chapter 14 Documentation 265

Why Should I Document Code? 265

Last to the Party, First to Leave 265

Documentation Is Boring 266

My Code Is Easy to Read 266

OK I Get It, Enough Already 266

Commenting Your Code 266

Basic Comment Types 267

ASDoc Comment Blocks 267

ASDoc Tags 268

HTML Formatting 272

Special Characters 273

Metadata Comments 274

Documenting MXML 274

Bypassing Documentation 275

Generating Your Documentation 276

Command-Line Document Generation 276

Generating Documentation in Flash Builder 277

Getting to Grips with Ant 281

Summary 288

Appendix A Flex Resources 291

Blogs 291

Adobe Blogs 291

Independent Blogs 292

Resource Sites 292

Frameworks 293

Useful Tools and Extensions 293

Adobe Tools 294

Third-Party Tools 294

Logwatcher 294

Regular Expression Tools 294

Index 295

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)