Flex: Difference between 'flash' and 'mx' packages

In Flex what is the difference between 'flash' package and the 'mx' package classes ? For example :

     import flash.utils.Timer;
     import mx.events.*;

Who is Participating?
asaivanConnect With a Mentor Commented:
As far as I know, the flash package is the newer AS3 packages which are native to the Flash IDE.  The mx packages are descended from the older Flash MX and Flex 1 AS1 and AS2 classes, which have evolved into AS3.  The flash packages all work in the Flash IDE, and the mx packages will not (necessarily) work in the Flash IDE.
ngiamourisConnect With a Mentor Commented:
Or, in other words, flash.* packages are bundled with Flash Player itself and are responsible for the most basic operations of Flash i.e. drawing, transformations, events and any other primitive operation. So, if you needed a ComboBox component for example, you would have to write thousands of lines of code if you were to use just flash.* classes. On the other hand, using mx.* packages (which would imply you're developing in Flex), you would have your fully customizable ComboBox plus a whole lot of enabling features with only a few lines of code. As I said, you can use the mx.* packages only if you're developing with Flex (as in Flex Builder). If Flex is too much for you and you want to develop in the Flash IDE solely, you could use the fl.* packages, which provide a basic set of UI components along with a few supporting classes.

So just to recap:
flash.* - Native classes built into Flash Player
mx.* - Flex Framework Classes written in AS3
fl.* - AS3 Classes for Flash Development
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.