debrief from Flex 360 conference

Last week I got a chance to attend the first flex conference in San Jose called flex 360 . This blog entry describe what i learned from that event.

What is Flex?

Flex is an application framework built on flash technology. The end result of flex application is flash.

Flex allows developers to build a rich media application (flash based) quickly by using language syntaxes that they're familiar with: XML and ECMA script(as used in Javascript).

Flex framework comes with a library of ready-to-use flash classes and components(combination of objects from various classes, i.e. accordion) 

Everything that flex does can be done in flash. Doing things in flash will require much more time but there are times when it's inevitable, if custom behavior is required so a custom class needs to created or, in most cases, existing classes need to be extended.

Sometime this year, Adobe will release a new product called Apollo which extend the capability of Flex to create desktop applications.

Metaphor to show relationship between Flash, Flex and Apollo 

If you need a piece of furniture, say a chair, you can do 2 things:

  1. If you're comfortable with building things from scratch, you'd go to Home Depot, get all the materials to create the chair and then custom made everything. This is equivalent to building the whole application in Flash with Actionscript.
  2. Second option is IKEA. You have an idea of what you want and given enough instruction, you're comfortable enough to put the pieces together. Even if you can do option 1, this might be more efficient for you since you don't want to spend the time and energy to recreate everything. In building application, this equivalent to using Flex components.

if you buy a chair for your dining room, that chair won't work very well for your office. What if there's a tool to create the chair once but then with few adjustments allow you to use it for multiple rooms? That's what Apollo does. After you create your application in Flex, via Apollo you can make it run on desktop so users can have consistent experience whether they're connected to the internet or not and the developers can build the whole application once to achieve that.

Are Flex components easily skinnable?

Yes. The look and feel of flex applications are defined in an external CSS file. This is demonstrated by the Flex Style Explorer.  in addition to visual attributes that can be defined in CSS, external SWF (or images) can be linked to the CSS.

Having visual assets linked from external files allows designers to work in the environment that they're familiar with (i.e. Flash IDE) and as long as the output is placed in the proper place and linked from the CSS, the change would be reflected in the app.  

What do I need to know to start using flex?

  •  XML (or HTML)
  • basic ECMA script language (Javascript or Actionscript)
  • basic understanding of Object Oriented programming

Sample Flex Applications


Got something to say?