views:

879

answers:

5

After using AS2 for several years, I'm getting started with writing applications in AS3 (Flash9/Flash10). I've come to the point where I need some full sets of GUI components, and I need to decide which set I'm going to use. Back in the AS2 days, the built in components included with flash were pretty crappy - bloated filesize, slow, buggy, etc. However, I heard good things about the new ones (included with CS3). So I'm looking for advice from people who have used a few different sets.

Component sets I've heard of:

  1. CS3 Components - downside, I need to fiddle with the CS3 IDE, I'd prefer to work all from FlashDevelop only.
  2. Flex Components - downside, I need the Flex Framework, meaning I have to start with a MXML file, plus the bloat of the framework
  3. bit101's MinimalComps - These look like they might be a good starting point, though a bit limited
  4. ASwing A3 - These look interesting, but they seem a bit overengineered.

Ideally, they would be lightweight, have a decent API, and not be overly complex.

+2  A: 

If you are making a GUI application, this is exactly what Flex is for. As well as the built-in types you get a visual editor which is very nice, cool binding functionality, and other stuff like built-in drag & drop.

MidnightGun
+1  A: 

Flex framework has a nice, consistent API that I wouldn't consider "bloated" - yes, it's a feature-packed UI framework but basic things like buttons and layout panels don't require any deep knowledge. And XML-based language for UIs is a blessing (all modern UI platforms do that, be it DHTML, Flex or WPF/Silverlight).

Borek
I'll definitely consider it for more complex apps, but for a simple app that has maybe three buttons and a textfield, it's not worth it to go from 10KB to 150KB.
davr
Will it really be 150K? For something that simple why are you using Flash at all, just use a normal web form.
MidnightGun
Well, it's so I can display a progress bar while uploading a file. But that's not the point, I will be making larger apps later where an extra 150KB on top of a 1MB app wont be such a big deal. (And yes it was 150KB, I tested it. Using just the CS3 components was 25KB)
davr
Flash Player supports Flex framework caching so it will NOT be additional 150kB, see for instance http://www.onflex.org/ted/2008/01/flex-3-framework-caching.php
Borek
+1  A: 

Go with the Cs3 ones - created by Grant Skinner I think.

Iain
I think I'm gonna go with these for now. I figured out how to use them with flash develop, it's a little complicated to set up, but then it's easy to use (you have to make a FLA, then export a SWC from Flash CS3, then use that SWC in flashdevelop)
davr
Can I have the tick then please!
Iain
+3  A: 

Yahoo's Astra components aren't bad either: http://developer.yahoo.com/flash/astra-flash/

UltimateBrent
These look interesting, but they are really designed as add-ons to the CS3 components, eg there's no basic Button, ComboBox, etc. Still, they might come in handy, thanks for the link
davr
For me it filled the void of the much missed MenuBar component from AS2.
UltimateBrent
+5  A: 

I'm actually a fan of the CS3 ones mainly because it is so easy to just double click on those bad boys and edit right in the Flash IDE using the drawing tools. Very helpful for those times where you have to rapidly push a skinned video player to production...

On the open source side there's also Thimbault Imbert's Liquid Components (http://www.bytearray.org/?p=137) demo here (http://www.bytearray.org/?p=109)...

It's pretty darn awesome and does runtime skinning which was a major time saver in a project I was working on. Pretty easy to get started with too...

onekidney