views:

995

answers:

6

I am completely new to Flex.

Can I realistically develop, say, a medium complex application with the Flex SDK alone, or do I need Flex Builder?

Also, apart from the SDK, what will I need to get started?

Thanks for any help.

+9  A: 

I was there a year or two ago, so here's my experience. In order by subquestion:

I am completely new to Flex.

I was new to Flex too - and Actionscript (although it's a superset of javascript, which I know pretty well; although it sure doesn't feel like javascript to me).

Can I realistically develop, say a medium complex application with the Flex SDK alone, or do I need Flex Builder?

Maybe, if you already know Flash and Actionscript pretty well. I didn't, so I found it sure helped. But it isn't any different from any other IDE-or-not decision.

Also, apart from the SDK, what will I need to get started?

Nothing, unless you want to use AIR, which is only a simple download. Everything else is in there. I was completely happy with my experience; no unpleasant surprises, and you're asking the same questions I did. YMMV.

le dorfier
+7  A: 

You don't need FlexBuilder to develop Flex applications, I use:

  • Flex SDK
  • Editor of your choice ( I use emacs on Linux, Notepad++ handles ActionScript well in Windows)
  • Ant (Flex SDK comes with Ant tasks)

I wrote a entire blog post on how to set up a Flex development environment:

http://blog.apterainc.com/software/setting-up-a-flex-development-enviroment-in-gnulinux/

While I blogged about setting this environment up in Linux, most of the steps can be directly transferred to a windows environment.

As to the other posters: Developing GUI components in Flex is no different or harder then using HTML to design a webpage. If you require a WYSIWYG editor for that, then you do not know Flex or HTML well enough.

mmattax
Absolute positioning is harder to do by hand.
ryeguy
Agree with the comment on WYSIWYG GUI development, although FlexBuilder's single greatest strength is its code auto-completion. I don't care much for auto-completion, and as such don't use FlexBuilder, but many do.
seanhodges
What I thought I said, but I agree in any case. But I'm not sure I agree with the disparaging comment about how little value-add it provides.
le dorfier
@seanhodges - FB isn't the only thing that can do autocompletion. FlashDevelop does it quite well (better than FB in many cases, but that's just my opinion). So I don't really consider that feature to be a selling point for FB, as there are free alternatives that do it too.
Herms
@Herms - Interesting, I wasn't aware of FlashDevelop. It appears to be Microsoft Windows only, but possibly useful for others.
seanhodges
Yea, it's built on top of Scintilla.Net (which a number of other good IDEs and text editors are based on), so it's windows only. But I know of a number of people who run it through Parallels or VMWare on their macs.
Herms
+9  A: 

You don't need it, but it can be helpful.

I've found FlashDevelop to be a much better IDE for coding ActionScript. It ties in with the (free) Flex SDK, so as long as you don't mind coding the MXML by hand then it should work great. I've created a number of smaller Flex apps using this, and it's worked great. I generally shy away from graphical GUI designers anyway, so it worked quite well for me.

FlexBuilder gets you two things that (afaik) you can't get elsewhere. A visual designer for the MXML, and a debugger. If you get the more expensive version of Flex Builder you also get a profiler.

The visual designer is good if you want to quickly prototype something, or if you're used to designing UI stuff that way (and I can see where it would be helpful once you start getting into more complex UI stuff).

The Flex SDK comes with a command line debug tool, but the GUI you get with FlexBuilder makes using it a lot easier. This is what made getting FlexBuilder worth it for me. I generally don't use FlexBuilder for everyday development, but when I need to debug it makes things much easier.

If you're the one who would have to pay for FlexBuilder, try it without FlexBuilder. If you start running into a situation where you feel having the graphical designer or debugger GUI would be helpful, grab the FlexBuilder trial. You'll have 30 days to try it out. If it helps you enough that you think it's worth the cost, then buy it. If you're getting along fine without it then you don't have to worry about getting it.

If your employer would be purchasing it and has the budget for it then it might be worth getting it sooner, but you could probably do the same thing I mentioned above so as to possibly save your company some money.

Herms
+2  A: 

Flex Builder is really useful if your application involves lot of GUI. It provides you a nice IDE do draw GUI. If you are just building actionscript that transforms to swf, you don't need Flex Builder. Flex SDK with your favourite editor is enough.

You may have to learn Actionscript and MXML DTD.

Alagu
Don't forget that FlexBuilder also gives you a nice debugger GUI as well. To me that's much more important and useful than the GUI designer.
Herms
+1  A: 

It's not required but it certainly makes things easier.

However, having said that, when you're using the FlexBuilder, you'll probably still end up doing minor tweaks to the UI in the mxml code and not in the IDE.

G-Man

GeoffreyF67
+6  A: 

FlexBuilder has been well worth the investment for me personally; it's probably paid for itself tenfold or more. No, far more. Easily.

A few key fetures I've most enjoyed:

  • Intellisense/code-hinting: Especially if you're new to Flex, this'll speed your learning process along surprisingly well;

  • The Profiler: The live memory/app profiler really helps keep an eye on what's happening inside the box;

  • The Debugger: It's tough to beat being able to set breakpoints, trace the stack, watch variables, etc. -- great stuff here;

  • Eclipse: Eclipse is just an excellent IDE, and Adobe has extended it beautifully for Flex and AIR.

Incidentally, I don't do any drag-and-drop stuff, myself; I code everything manually, and I still can't recommend FlexBuilder enough. If you can part with the cash, chances are you'll be happy with the product.

Christian Nunciato
If you code everything manually, take a look at FlashDevelop. I actually like it a lot better than FlexBuilder for coding.
Herms
I've heard of it, thanks for reminding me -- I'll check it out.
Christian Nunciato