Flex Challenges for Flash IDE Devleopers
A post recalled myslef got frustrated last September, after several weeks honeymoon turning into Flex from Flash.
No doubt some developers from Flex community not easy to understand what’s the meaning when a Flash developer complaining (AS3 === AS3) = false, as the majority of Flex developers do not know too much about development in Flash IDE. The feeling of ’second class citizens’ for Flash developers in Flex development also could not make sense to some of them.
I would like to say, there’s no different AS3 language itself whatever Flash IDE or Flex, but the way of coding is wholly different and big changes for Flash developers when try to work with Flex.
Rapid application development
My favorite Flex blogger Yakov Fain had a Flex and Java book in 2006, Flex Builder was a ‘RAD tool’ in that book, but some months later, a new post said ‘Flex 2 is not a RAD tool‘ telling the real truth. He also questioned the usage of dominated Cairngorm framework for Flex applications. Despite of some questions like these, however, Flex development is target to RAD. Although even today, the question asked by bosses ‘how to make a complex Flex application fast, extendable, fast UI change, great usabilities for every components and views, largely reusable classes to fit for different structures, tested fully with agile methods fast and easily, less developers and hours’ still no one-fit-all answer, Flex teams are working the way into RAD at some percents.
The RAD nature of Flex making the big difference between Flash IDE applications and Flex applications, as Flash applications are more focus on Creative and User Experiences. Flash IDE projects are mostly like to be design-driven, with smooth workflow between designers and Flash IDE developers. While Flex application must largely adopt design patterns, restricted by components-base structure, agreement such as framework, patterns, coding style, between developers now and future.
Developing Flex applications, Flash IDE Developers have to learn more design patterns and structure frameworks, reading Flex SDK source code, get familiar with Flex components functions/events/behaviors, struggle with SDK bugs.
Design challenges
Early months before, I got impression from Adobe’s seminars/articles that, Flex framework is to give you a fast, powerful, extendable component-container collections, easy to change with CSS and bitmaps. And you can easily extend design with Flash IDE even. That’s not the truth in real world. That’s what talent Flash/Flex developer Jesse Warden talking about design challenges.
I used to have a former Flash IDE version of my Flex projects, everything could be replaced with Flex components except a creation task with script-based animations. I found it’s not too hard to move the code base from Flash project into new Flex application, and feel happy in the beginning. But later when my bosses asked me to change something from time to time, I got some pains the needs of strong-typed communication functions between Flex framework and that low-level UIComponent-extended Flash component, split my brain into two parts, one thinking in Flash another thinking in Flex.
Satisfaction
Most of workers working not only for money, but also for some sort of self-fulfillment, coming from satisfactions of his works. Flash IDE developers can get more or less satisfactions from Flash projects, where working with designers, whatever some sort of creatives and some sort of happiness.
Flash developers join into Flex projects will have less satisfactions. Each time when Adobe evangelist talking about how great a new Flex application is, someone will notice that ‘the best Flash applications in the industry still made with Flash IDE, not Flex’. Design challenges are limitations to make Flex to be satisfied like Flash applications, especially when designers have very limited experience working with Flex, even worse definitely no designer at all. Each time when the feeling comes, you ‘do not have the ability to make that happen which can be made with Flash easily’, can you feel it good?
Flex developers coming from Java or other languages getting satisfactions from Flex, as Flex applications he can build much beautiful than Java GUIs, HTML interfaces, and much easier. They’ve already have good experiences with enterprise design patterns, Flex is easy for them to dive into, and the results for them are amazing.

























Michael Labriola said
am January 20 2008 @ 6:44 pm
It’s really interesting to hear your view on this because it isn’t one I have often considered. I was a developer that tried to learn the flash IDE to create applications in the years prior to the first versions of Flex.
The approach, the metaphors and just about everything else made it a very difficult transition. I hope the future for Flex involves all of us working in environments that give us satisfaction.
ML
Tony Fendallq said
am January 20 2008 @ 7:13 pm
I hear what you are saying, but anyone who tells you that you can’t do beautiful things in Flex is lying: http://www.munkiihouse.com/?p=76
JesterXL said
am January 20 2008 @ 8:55 pm
Feel your pain, bro. I miss working with designers a lot. That creative energy, the attention to visual detail; it’s such great stuff that makes me want to work harder.
On the flip side, I can’t imagine using Flex in an agency environment. The fact you’ve tried means you’ve got mad willpower and a sense of adventure.
The whole “workflow” thing is such utter crap, too because no one defines what their workflow is, nor what their definition of design is. An agency’s version of “a designed app” is totally different from a software shop’s version. Furthermore, if a design doesn’t work technically, it’s an afterthought in a lot of the software projects. In an agency, it’s an f’ing nightmare for the developer; he has no choice to make it work even if that means working weakends, or re-coding things.
No one talks about what tools they use and how they use them AS WELL AS what environment. Pure Flex? Pure Flash? Using Flash, but doing the actual coding in another tool? I know Keith Peters and I are actually doing pure ActionScript 3 in FlexBuilder, using Flash for design assets, and no Flex… yet we’re not technically using Flash. So… FlexBuilder still allows us to do complicated designs. But I don’t go around saying I have no problems because I off-load those to Flash which does it well. Flash does not do coding as well as FlexBuilder, so together they are pretty darn good.
Why not code in FlashDevelop, FDT, or FlexBuilder and design in Flash? Works pretty well for me. Considering you’re doing more design work, I bet you can get away with more custom stuff also.
george said
am January 22 2008 @ 12:30 am
@ Michael, Yeah. Satisfaction is important not only happiness for a single person, but also good for team and projects, and more energy to make better products if possible, and working much harder.
@Tony, I like your smallworlds, it’s amazing. Though what I talking about is not Flex can make beautiful or not, most of real world applications are not games or social sites, but applications for daily boring tasks, user interface/interaction design is quite a part of weakness even some time it’s a job of developer.
@Jesse, I used to code in FlashDevelop for Flash projects (I never use Flash IDE actions panel to code except writing some sort of stop()). But now I have to use Flex Builder for pure Flex projects, more comfortable than half year before. No more FlashDevelop as I changed to Mac at home already.
Flex actually a great product I have to say, even there’re still lots of bugs. The more time working on Flex (pure Flex projects), the more I respect Flex team. The problem maybe, Adobe sometime introduced Flex ‘fast’ and ‘easy’ too much to bosses, and some companies and developers announced how fast they building their own Flex applications, that make developers’ life harder, especially developers coming from Flash community, thinking more user interface than RAD skills. For me I always feel no enough time to think deeper to make things more efficient and more RAD approach.
KingNitram said
am June 16 2008 @ 5:25 pm
Great dialogue here, gents.
Peripheral thanks to the Jester — your blog posts helped me bridge my own semi-painful transition from Flash to Flex.
I am glad I did it however. I am a senior dev at a creative agency, and Jesse nails it on the head again as he mentions, what seems a trivial oversight to a designer is a back-breaking overhaul for a developer.
None-the-less, I have had very satisfactory results in managing all of my data, state, and server communication with Flex and layering in Flash-built components. We even managed a huge site pulling AS2 swfs into Flex. Happily Flex can get right inside AS3 swfs, and this workflow is eons better.
I would even say the workflow has indeed made me a better component-builder. Whereas the timeline-code temptation of Flash has produced some of the most gawdawful conglomerations of tightly linked objects, the conceptual base of Flex and AS3 is such that, inevitably, I began to more accurately understand the poetry of loosely-coupled objects. What has resulted is that I have components that function well in-and-of-themselves. This has made repurposing much less a coding marathon and more of an exchanging of assets.
Currently I’m frustrated with Flex 3 as I need to migrate old projects from Flex 2. I still don’t have a handle on the new security paradigms, and I have yet to get Cairngorm to compile without a missing Comsumer constant on the IServiceLocator resource. Strangely no one else seems of have had this problem.
And why is the damn properties window so damn buggy on XP and Vista???