I?ve been using FAMES for a couple of weeks now, and here’s where I decide to continue or go back to PrimalScript.
I’m not particularly a latest-acronym-bandwagon-jumper-onner (LABJO?), and I’m not a big open source junkie. So whichever setup actually works best for me in the real world is the one I’m going to use.
I thought I?d make an in-depth analysis of FAMES, point by point. I?ll go over each part of the FAMES set up, say what it is and some of its pros and cons. Note, a lot of this is simply personal opinion. And if I have any technical details wrong, I?m sure I?ll hear about it.
F is for Flashout
What does it do?
Compiles AS using MTASC, displays compiled swf, displays traced output.
Pros:
It does what it says. It is integrated into the Eclipse IDE.
Cons:
Seems very buggy. I see more posts on the OSFlash list about Flashout problems than anything else.
Have to switch to the Flashout window and hit compile button to compile.
It is not particularly extendable or customizable.
Ant or batch files do the same thing with more control.
Many other solutions to display traced output.
A is for ASDT
What does it do?
Allows you to write AS2 in Eclipse.
Pros:
Highlights key words.
Code hinting.
Templates.
Syntax checking while you type.
MTASC panel integrated with Eclipse IDE
Cons:
Not many. It?s a great tool.
Code hinting for parameters needs work.
Not easily extendable, i.e. adding new key words, additional class paths.
The while-you-type syntax checking intermittently fails for me, and when it does work, it tends to eat up a lot of cpu time. Luckily you can turn it off.
M is for MTASC
What does it do?
Compiles ActionScript into SWFs without using MM compiler.
Pros:
Compiles ActionScript into SWFs without using MM compiler!!!
Fast, fast, fast!
A stricter compiler than MM’s.
Strict mode is even more stricter!
Useful output on errors
Cons:
Learning curve is a little tough.
A lot of existing code needs to be cleaned up to compile in MTASC.
Using movie clip based components is a pain.
Using non-MM movie clip based components is a severe pain.
E is for Eclipse
What does it do?
It?s a full featured code editor.
Pros:
Very customizable.
Plugins appear as part of the program, allowing it to become a more of an IDE than just a code editor.
Multiplatform
Cons:
A bit of a learning curve and can feel a bit cluttered. Not even just visually, but there are so many options to do stuff I don?t know about. There are a lot of things built in there for Java that are not applicable to Flash development. While using it, I am very aware that this editor was made for coding Java, and I?m just kind of hitching a ride.
It is very much a project based editor. Life revolves around the project. You can?t just open up a stray .as file and see what?s going on. Only files that are part of the project. You are supposed to be able to do such a thing with ?open external file? but that never worked for me. So I still need another editor on hand for looking at non-project files.
S is for Swfmill
What does it do?
Decompiles swfs into xml.
Compiles assets described in xml into a swf.
Pros:
You can build a swf containing external assets without the MM compiler, and then inject bytecode with MTASC.
XML is human readable, easily editable.
There are a few tools around that even automate the XML writing process.
Cons:
As with MTASC, getting non-MM movie clip based components to work well is not fun.
Conclusion:
Flashout: Thumbs down. It?s nice, but there are plenty of other more extensible solutions for everything it does. I stopped using it and started using Ant to make build files instead.
ASDT and Eclipse. These two are inseparable. If you use one, you use the other (for AS coding). Thumbs up. It?s a nice editor and a nice tool. Especially if you have worked with it before, or you work with Java, you will be right at home. If you work on a Mac, this is the one. If you don?t want to shell out money for PrimalScript, this could be the one.
MTASC. Resounding thumbs up. Enough said.
Swfmill. Same. No competition.
MTASC and Swfmill are not tied into Eclipse at all. You can use them with Scite, SE|PY, PrimalScript, whatever. They are simply command line tools. So for me, the choice comes down to ASDT/Eclipse vs. PrimalScript. Which do I like better?
My decision? I?m going back to PrimalScript. I?ve used it for about a year and a half. It?s very comfortable to me. I gave Eclipse a good two weeks workout. It?s nice. I don?t have anything really bad to say about it, other than the few comments above. I even contributed to the FAMES community with an Ant build file that incorporated Swfmill, MTASC and the standalone player, and a couple of templates for making ASUnit test cases and suites. So I feel like I gave it a good chance. I could happily go on working with it if I didn?t have any other choice. But did it offer me anything that I couldn?t do in PrimalScript? Other than the while-I-type syntax checking, no. And I ended up turning that off. Most of the things I want to do, I find I can do easier in PrimalScript. Maybe that?s just because I?m more used to it.
Mostly, it?s just a personal preference though. I?m more conformable with it. It feels like it was built, at least partially, with ActionScript in mind, not like I?m sneaking in the back door to use it. And if I want to open an XML document or an ActionScript document or a batch file, or just some random text file, no problem. I don?t have to build a project around it.
I?ll keep an eye on the Eclipse world though, and we?ll see what develops there. On the other hand, there?s supposed to be an update of PrimalScript some time this summer. Since it?s use as an AS editor has surely been a good thing for Sapien, I?m sure they?ll be adding in some more Flash-related goodies.