To Flex or not to Flex.

Recently at FuseTalk, we did some research on building our presentation tier for an upcoming project in Macromedia Flex.   If you’re not aware, Macromedia Flex is a presentation server that serves up Rich interfaces that are generated by server side XML and compiled then presented in the Flash Player.   Macromedia Flex makes a bold statement that the future of Web UI development is Rich & Ubiquitous.   Having built many an interface using CSS/JS, the day where the developer can forget about the cross-browser issues that plague us all, will be well received. 

 

One could say that Macromedia is taking a leap with Flex, is the world ready to develop interfaces in this way?   Well, the product is realistically targeted at enterprise developers, so no, it isn’t the answer to everyone’s dreams right now.  But, it does make a statement about their vision of the future of Web based applications.  

 

We spent about a month with Flex, making mock-ups of various screens that the application had.   The user interfaces you can build are impressive, they look very “Mac’ish”, but can be fully customized via CSS to look however you want.  We figured that Flex would save about 2-3 months work on building a similar interface using straight ASP.NET/CSS interface.  Most of the UI components that Flex provides can be done using ASP.NET minus drag and drop, and some of the behaviors like minimizing panels etc.   Those we would have to write JS libraries for, and would probably not work on every single browser out there (although they would function on the major browsers we’d support). 

 

So, the decision of whether to use Flex or not came down to a few things for us.  One was the IDE.  The strength of a language is tightly coupled with it’s IDE, if the IDE isn’t strong then the language suffers.  I’d say this was probably one of the biggest reasons we decided to stay with the “old school” way of doing things for now.   The IDE that is shipped with Macromedia Flex is called “Flex Builder”, it’s essentially a re-skinned Dreamweaver with some Flex specific widgets and a debugger.    The debugging is a bit on the weak side, sometimes it wouldn’t stop at breakpoints, it was slow and if you wrote your own controls the debugger wouldn’t see them.  Overall the IDE seemed like an afterthought, “heck we built a language, let’s patch up Dreamweaver and use that”.    An IDE architected and coupled with the language is a necessity, having been used to Visual Studio my expectations were high.

 

Besides the IDE issues, the $12K price tag per server and lack of native .NET support also played into our decision to stick with an ASP.NET interface for the time being.   Another factor was performance, particularly the Grid component.   If you moved the scroll bar on a grid up and down, you could watch your CPU usage spike at 30%+ depending on the machine.    Maybe Flash Player 8 will address some of these performance issues.

 

Overall, Flex is an excellent first attempt and shows a heck of a lot of promise. 

4 Comments

  • Clint, thanks for the info. Slick application, for sure. I have no doubt about it saving tonnes of time, as I eluded to in my post it would be much faster to develop the UI components in Flex. The problems we had were with the IDE, which slowed down development. Also, as I spoke about in at the end of my post, performance. Using your application IE was going from 30% to 90% on occassion, which probably has nothing to do with your app, it's just flash player performance. I think Macromedia is really on to something, a more efficient player and a real IDE and it's a clearcut winner.



  • I've been building Flex apps internally here for awhile now and I have to agree that the IDE was an after thought. I'd really would have prefered a ground up written application, of course due to time constraints I don't think that it was possible.



    The flash player for me has been a somewhat stickier part. I've gotten performance issues only to have them magically disappear the next.



    All in all I love what Flex can give me when coupled with out CFML servers but I'd really love an .Net hook instead of running on a Java Application Server. Believe me, at every Macromedia event I attend I always ask about the .Net integration (which at one point CFML was supposed to be able to be run on).

  • My guess is that you're gonna be waiting a while for a decent Flex IDE, if one ever comes out. MM doesn't really seem to grasp what devs want in IDEs at all (DW is a pile of poo). As for Flash performance, their company line has been "improved performance" since the first version of Flash, and they've never delivered.

  • I just don't understand, why you would want to build something in flash. Sorry to say this, I bet all the flash lovers will be jumping on me, but I think flash is not a professional method of delivering content to the user.



    Yea, it is nice to have some animation on your webpage, but I noticed flash can be confusing and slow...here are some examples,



    -Flash can be slow on older machines (especially the CPU usage you mentioned). I have 2 computers, I noticed on my old 450 MGHz computer, the scrollbars usually scroll extremely slow. (Which is why I hate the macromedia.com website).



    -When rolling over links there is no way to tell what page you will be sent to, as you can't send it to the status bar.



    -You can't access pages directly.



    -Flash presentations usually get boring to look at and boring to navigate through.



    I just think the $12K price tag is a joke, especially for a 1.x version. Maybe it is low for a company, but I alone, can't afford a product like Flex for $12K. To tell you the truth, I wouldn't even buy it if it was 200.00!

Comments have been disabled for this content.