What is the current state of Adobe Flex and what tools are commonly used?
October 2, 2009 8:57 PM   Subscribe

What is the current state of Adobe Flex and what tools are commonly used?

Though most of my experience is in C# / C++, I have done a fair bit of development in Flash over the last few years. Despite the fact that the threading model is still crippled (compared to desktop technologies or even Silverlight), I have an idea for which I think Flash / Actionscript 3 might be an appropriate platform.

Right now I am considering whether to base my app off of Flex 3 framework or just code directly with AS3 / Flash.

(as an aside, I have read the answers to these questions on the Adobe website. However, years of experience working with Adobe products has made me extremely skeptical of anything they claim about their own products)

So, I have two questions:

1) What are the advantages which Flex 3 offers compared to just Flash? Are the Flex user interface controls substantially better than what is available with Flash alone?

2) What IDE and other tools are actually worth using for Flex 3 development? Is Eclipse still the IDE of choice?
posted by Riemann to Computers & Internet (8 answers total) 4 users marked this as a favorite
To be absolutely honest, the future does not bode well for Flex. A lot of the work being put into the HTML 5 specification will replace the functionality provided by Flex.

I'd put my effort into HTML 5 and a javascript framework (like jQuery) as (IMO) you'll get more traction out of it in the future.
posted by purephase at 10:41 PM on October 2, 2009

1) A real object-oriented programming environment and the excellent MXML language for layout, and a ton of advanced components like charting. Flash is pretty much dead except for actual animation (making cartoons).

2) Everyone I have ever met uses Flex Builder, which is based on Eclipse.

Not sure about html "replacing the functionality." Flex can do a ton of stuff with vector graphics, charts that update instantly, video playback etc etc etc. But the biggest advantage over html and js may actually be in development- as long as the end users have the right version of Flash player, it will work the same in every browser. And you can develop in a real object oriented, unit-testable language. Not to mention the excellent hookups for binary data transfer with Java and other backend languages. And then there's the long polling stuff which works really well for chats and other multi-user experiences. I mean, those html 5 rounded corners are cute and all, but I think there's room for both technologies.
posted by drjimmy11 at 11:05 PM on October 2, 2009

Check out Tour de Flex, that will give you a straightforward idea of what Flex provides.

I started getting into Flex and found myself importing custom Flash components. I thought that was silly and just went back to Flash. I do a lot of weird stuff though... clockwork simulations, games, etc.
posted by skintension at 1:16 AM on October 3, 2009

My perception of Flex is that it is at its strongest (by which I mean quickest to get something up and running for a development team who knows the application) when doing the following:
1. Making more corporate applications where the visual appearance of the application is considered important. Since the whole thing can be deployed in a Flash player there is no need to worry about catering for different types of browser - you can move to a stand alone application easily if necessary, there are pretty good tools for interfacing with existing business databases.
2. Making web applications which are both heavily visual and programatically complex. For example something like kuler.

In both cases there is a presumption that you - or your organisation - has bought into the Adobe portfolio of products: you have graphics people giving you Photoshop files, animators giving you stuff in Flash and so on.

Back in the days when I did development in Flash (and Director) there was a tendency for beginners to make a heavier use of the "score" in development. Those who knew a bit more would tend to just have an application cycle through two or 3 frames of the score and attach all the code to that. If you prefer to work in that way then Flex would be a better tool for you.
posted by rongorongo at 4:50 AM on October 3, 2009

Flex is a framework built on top of ActionScript, the programming language used by Flash. It is geared toward developing web apps, and now desktop apps with Adobe AIR.

Flex is built on top of the Flash platform and runs inside the Flash Player. In fact, Adobe is in the middle of rebranding Flex Builder as Flash Builder. Flash has it roots as an animation platform, but has since evolved towards becoming a complete software platform, like Java. The Flash IDE is still stuck in animator land, but it's moving to have a more complete integration with Flex Builder.

Flex provides the framework for the common user interface components--buttons, combo boxes, etc., as well as helpful concepts such as data binding. Coming from C#, Flex should be very familiar. The root ActionScript language minus Flex only provides very basic components, like TextFields.

Note that you can develop in ActionScript without using the Flex framework (but still inside Flex Builder or another IDE). In fact, the majority of Flash development is still sans Flex. If you are going to be developing media-rich websites or games, chances are that you won't be using Flex.

Flash is NOT dead -- the Flash IDE remains the central tool for creating art and animation assets for your apps. You can't create these assets in Flex Builder at all. Even if you're a developer, you could be working with a designer who will be working inside Flash, so it's good to be aware of it.

As for IDEs, the main ones are Flex Builder and FDT, both based on Eclipse. FDT is very good, and I would recommend checking it out. I'm not a fan of Eclipse, so I personally use FlashDevelop, which is free, open-source, and very fast.
posted by Herschel at 11:30 AM on October 3, 2009 [1 favorite]

I'd put my effort into HTML 5 and a javascript framework

Warning: this thread could so easily turn into a Flash vs. AJAX flame war.

Though I write Actionscript code for a living, I have no stake in which technology wins. I know HTML, CSS and Javascript, so if Flash dies tomorrow, I'll just switch over. However, I disagree that Flash is going to die tomorrow. I do think we'd be living in a better world if the main solution for mutl-media/web apps was AJAX, because AJAX isn't owned by one company. And I do think tons of people misuse and abuse Flash. But neither of those facts means that Flash is dead or dying.

If you need to produce a cross-browser multimedia app NOW (not three years from now) -- one that works in Safari and IE, on Mac and Windows -- Flash rules.

Here are some things that are hard/impossible to do with AJAX (as-far-as I know, but someone please correct me if I'm wrong). You can do them with Flash:

1. Super-advanced font manipulation, using any font you want. Flash has support for ligatures, kerning, etc.

2. Reliable support for video streaming.

3. Sound-data creation and manipulation (down to the level of manipulating bytes).

4. Reliable support for png graphics.
posted by grumblebee at 2:15 PM on October 3, 2009

If you are going to use Flex, you'll want at most one Flex widget on the screen at once. Each instance takes about 60MB of RAM minimum on a Windows box, so you can't just load up 20 Flex widgets on a site. Typically, a page is 100% Flex, or none.
posted by cseibert at 2:56 PM on October 3, 2009

My job now is about 90% Flex development with a little bit of PHP/HTML/etc thrown in now and again.

1) What are the advantages which Flex 3 offers compared to just Flash? Are the Flex user interface controls substantially better than what is available with Flash alone?

Flex has a pretty strong focus on standard UI components (text fields, lists, display containers, calendars, etc), where Flash is a bit more focused on the art-side of things. The Flex UI controls are definitely much, much better than the standard Flash-provided components. Development is pretty agile thanks to the use of MXML.

2) What IDE and other tools are actually worth using for Flex 3 development? Is Eclipse still the IDE of choice?

Eclipse is still begrudgingly the IDE of choice. It works well for what it does, but Cthulhu help you if you're not using a Windows/OS X environment. There are some open source frameworks and IDEs, but as of this point, I haven't come across any that'd replace the standard Flex Builder for me yet.
posted by DiamondGFX at 11:05 AM on October 5, 2009

« Older San Francisco insurance confusion   |   poor quality goji berries? Newer »
This thread is closed to new comments.