When I heard some news that Adobe introduced Flex, I thought it might be a new language with MXML. I also took some articles, e-books and some sample of source code to research. Since I started to be familiar with Flex, it’s to me is actually suite of tools and environment to build RIAs. Everything you can do with Flash, you can do the same with Flex. But harder and more crazy (in case you wanna make detailed animation in Flex instead of Flash). The solution is Flex using graphics and animations, audio done in Flash. It gives you the best applications that can be viewed in any browser with the flash player installed.
Like Flash does, Flex exports all the source code (MXML, ActionScript, resource …) to SWF file that can be executed on the Adobe Flash Player. Flex also able to create animation, graphics, symbol … but you will not see any design tools such as pen, rectangle, fill tool in Flex IDE if you had been familiar with Flash IDE before. it’s the same “technology” but the way applications are built is different and allow much more complicated applications to be built by software engineers instead of animators. What’s Adobe wanna tell you about the different about Flash and Flex
FLASH is for DEsigner – FLEX is for DEveloper
Flash is quite familiar to designers. It’s easily making graphics, animations, sounds by “hand” and visual graphic tools ( I mean they can use graphics tools in Flash IDE to create them).
Most designers are not good at programming, they can make it “work” but they’d rather be doing design or animation, so getting data from a database or xml is not their skills and they often do it inefficiently or simply have to tell the clients “it can’t be done”.
With Flex Builder (IDE using to develop Flex applications) based on Eclipse, most developer feel happy and friendly with it (including me). Flex can connect to “any” data, mainframes, xml files, webservices …
It’s a more traditional way of building software to developers use it to build applications instead of animators. Developers are not good at designing, but with Flex they can use the great work a designer has done, and implement the business logic, therefore we have the best of both worlds, designers doing design, developers doing code.
You may not understand clearly what’s different ? So let’s have a look with Shiho microsite (thanks Shiho team, hehe). This site is done with Flex (and Cairngorm framework). In generally, it takes some steps below:
- Information architect designs the useability/layout
- Graphic designer lays out the design in Photoshop then converts them into Flash symbols.
- Flex Developer writes Actionscript/ MXML code in the Flex IDE. They also create CSS files sothat the application can be “skinnable”. Developer will integrate all Flash symbols done in Flash into application.
- Flex developer also decides all transitions, animations and makes it ‘s done with Action Script. The final layout also to be done by developer.
Assume this project would be done with Flash, developers just use Action Script to make a business. All animations, transisions should be done by designers.
My conclusion: It’s me – a Flex developer
Flash was originally a tool for graphic designers, to which we’ve added developer features.
Flex is for developers. It is used primarily to create business-type applications.