THE PASZ.COM BLOG

Thursday, May 25, 2006

Flex vs. Flash IDE

There's been an intense thread going on this week on Flashcoders discussing Flex, and what it means for the future of Flash development. At times, especially when they've felt their products have been misrepresented, representatives from Adobe have even stepped in with comments.

I posted a couple of times, mainly to express some of my confusion over what exactly FlexBuilder is (this confusion seems to be one of the underlying themes of the thread). Is it simply a form-based alternative to the timeline? An improved component library? A better way to build large-scale Flash sites? A way to connect client and server development? Does it complement the Flash IDE or is it the next step in its evolution?

Granted, I've had little experience with Flex so far, due to lack of time, but I do feel that, since this looks like a major paradigm shift for Flash development, there has not been enough information coming out to help existing Flash developers. In particular, I'd like more information about workflow, integration of Flex sites with Flash animations, and general migration. This is not to say that there has been a lack of information overall -- commendably, Adobe has been running a very impressive public beta. However, I feel the messaging of the information has been murky. There are powerful features in Flash that are missing in Flex, and vice versa, and I don't understand why.

I think the problems are partly due to Adobe trying to have its cake and eat it too. Contrast the current situation with the way Microsoft went about the transition to .NET. They went out of their way to explain to developers how the new platform solved problems with the old way of doing things. I guess that's what I'm missing from Adobe: more acknowledgement of the problems with the existing development process, and then an explanation of how Flex addresses these problems. Also, MS made it very clear that the old way of doing things was over. I get the sense that Adobe is trying to hang on to the old approach, even though they secretly think it's on the way out.

Dave Mendels posted the following links to helpful articles, which contain some of the best explanations I've seen so far:
http://www.adobe.com/devnet/flash/articles/flex2_flash.html
http://www.adobe.com/devnet/flex/articles/flash_perspective.html

I definitelly think this quote from the Nigel Pegg article sums up my initial reaction to Flex:
I'll admit it: When I first started working with Flex, I had a hard time understanding why you'd want to use it. It seemed almost too simple. I was so used to the expressiveness and power of the metaphors I'd become comfortable with in Flash that I just couldn't see the point in authoring with anything else. I could do almost anything in Flash and I doubted that Flex could offer the same amount of control. In some strange sense, I even felt threatened. Would this New Big Thing overwhelm Flash and reduce its relevance?


Change can be difficult. Maybe I am too stuck in my current mode of thinking about how to create Flash applications. When I think about building applications, I tend to think of them in terms of Views and Objects, not in terms of Forms and Components. This is a subtle distinction. I guess you could say it's a less structured way of thinking about how to build things. Less structure can sometimes be dangerous, and can lead to sloppy code if one doesn't follow good practices. But less structure can be very freeing and creatively stimulating. For me -- and it varies depending what kind of application I'm working on -- I prefer to think of software development in terms of creating rather than building. It's an art more than a science. (I will grant that this is not a traditional view!)

So I'm still not 100% sold on Flex. At this point haXe feels like a more natural evolution from the current paradigm. Instead of an improved way to create Flash content, it is an extension of the Flash development process into non-Flash realms. Instead of trying to fit various internet applications onto the Flash platfrom, haXe tries to extend consistent development methodologies to various application platforms.

I hope this doesn't come off as too anti-Flex. A great FlexBuilder product will be a boon for a lot of people. However, at this point I'm concerned because I still don't quite get it.

18 Comments: