So we talked last week about Adobe Flex, the Rich Internet Application (RIA) stack created by Macromedia and currently owned by Adobe. If you have ever watched a video online from a web 2.0 video site, you have used a Flex application. Sure, Flash and Flex are cousins and the common language they speak is ActionScript, so logically anything you create with Flex can also be created with Flash. But I stand by my assertion that big projects like video libraries are now written in Flex. I can say that with some confidence having worked with a Flex RIA team for over a year now. In doing so, I realized that Flash has some serious limitations that Flex had to overcome.
Testing:
- Flash – Without automated testing, bugs are really very hard to find. Debugging Flash applications is something of an art form.
- Flex – We can add unit testing with FlexUnit to any IDE and have one click testing of our appliations. We also have Stress Tests available
Refactoring:
- Flash – Difficult to do. Flash code bases usually reverted through entropy to an unwieldy mess of bolted on functions that eventually degrades to an unrepairable state.
- Flex – Quoting Adobe ‘Flex Builder 3 [the Eclipse based IDE sold by Adobe] will provide refactoring tools for MXML and ActionScript that are similar to those provide by Eclipse JDT, including Find All References, Move and Rename’.
AIR applications (desktop Flash):
- Flash – You can build AIR applications using Flash CS3, but they will be completely different projects than similar applications for the web.
- Flex – The promise is there for unified code base which can be deployed as a Flex or AIR application. I have not tested this, all though I have heard of some success in this area. Unified code base is difficult. Java has come close, though still there are problems making completely portable code unified. The benefits of having one code base are, however, great.
Multimedia
- Flash – Clearly this is the place where Flash excels, mostly because of its head start. So many multimedia applications have been written in Flash that the ground is well worn.
- Flex – Catching up fast. As I said above, most large multimedia apps today are being written in Flex, mainly because you can embed Flash into a Flex app to get the best of both worlds.
Skilled Help
- Flash – There are many Flash developers out there. Since Flash has been around for a decade now, this is a well established category for consulting, services, and employment. The issue here isn’t the amount but the quality. For anything more than a Flash Banner Ad, I personally recommend a Flash programmer that can handle the complexity. Guru’s such as these are tough to find though. If you have one keep her happy.
- Flex – Since Flex is relatively new, you will have a hard time finding a Flex expert. No matter, really, since what you want is a solid programmer that wants to get into a new area. Programming skills is the real need here since a language is a language. Once you have someone who wants to get their feet wet, exposing them to Flex is not much different than any other new and shiny programming language. We had an ex PHP programmer that became a wunderkind in Flex. All the MXML and ActionScript were just new variants of XML and ECMAscript. Documentation isn’t good yet, but books can be found and examples are aplenty Of course, a good internet consultant can also help you get on track quickly.
Advanced subjects in Flex would deal with the cool microframework Cairngorm which brings Design Patterns like MVC to the table.