To FAMES or not to FAMES

Jun 15 2005 Published by keith under Flash

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.

Join me on the New Digg

12 responses so far

  • Tim Walling says:

    I think that’s a fair review. You tried out Eclipse out enough to have some valid input. You were posting enough contributions to the mailinglist where I thought you might have converted!

    I really liked Primalscript for flash development also and I’d like to see what the update brings. If I had to make a choice between Primalscript and Eclipse for actionscript/flash development only, I’d definitely go with Primalscript. I really liked how light and fast the editor felt when I trialed it. Currently I’m using Eclipse because of the type of projects at work where build files need to be run to build the project anyway. It has nothing to do with Flash. Also I love the CVS integration, hands down the best integration I’ve seen in an app.

    For flash development only I think Eclipse and its flash related plugins are too much, not developed enough yet and just not as fast as Primalscript.

  • Brent Bonet says:

    I’m about with you there. But what do you see as the difference between SE|PY and PrimalScript? I was a millimeter from buying PrimalScript and then all of a sudden SE|PY had almost as good code hinting so I didn’t buy.

    Please give me your opinion.

    Brent

  • Keith Peters says:

    tim, I thought I was just about converted too. I just had to sit back and ask myself which I actually liked more. When you are spending 40, 50 or more hours plugged into a code editor, it’s pretty important to be really comfortable with it.

    Brent. I never had good luck with SEPY’s code hinting and completion. Each new version that came out, I downloaded and tried out, but it never really worked right. If it works for you, great. Overall, I feel PrimalScript has a smoother, more professional and polished feel to it as well. Hard to define. Like I said, you have to feel comfortable with it. Yeah, it costs, but I never once regretted the money I paid for it, and will happily pay for the next upgrade when it’s ready.

  • darron says:

    I think a good question to ask yourself is “Is PrimalScript worth paying an extra $179 for?” Since you’ve already purchased your version it doesn’t matter either way which way you go, but for many folks Eclipse is the better option simply because it’s free and offers the same functionality.

    Personally, I use Eclipse because of how I can tweak it with plugins. I use CFEclipse to edit my server code, Quantum DB to talk to my database, and Subclipse to connect my project to version control. I love how well version control is integrated with the project panel, and how integrated ant is – nothing like clicking run and getting the Flex mxmlc.jar to compile some .mxml/.as files and pop up a flash player window with the resulting .swf. Another click sends everything to the server via ftp.

    For “one off” .as file editing, I still use SEPY for that. However, for coding projects I use Eclipse and will continue to do so as long as it makes sense to.

    Maybe one day we’ll suck you back in.. :-)

  • Keith Peters says:

    ‘I think a good question to ask yourself is “Is PrimalScript worth paying an extra $179 for?” ‘

    For me personally, absolutely. If I were a door-to-door salesmen, I wouldn’t be looking for where I could get free shoes. I’d buy the best pair I could afford.

    But again, it’s whatever you are comfortable with.

  • Tim Walling says:

    Regarding the SE|PY vs PrimalScript. I think SEPY is great, however PrimalScript still just feels much faster while using less memory. That was just my experience though and I know it varies for people. I don’t own a copy of PrimalScript so it’s going to take something great in the possible update Keith’s mentioned to make me purchase a copy. Of course work can feel free to pick me up a copy.

  • darron says:

    I’ve been using Eclipse for years for Java development (started using it in college ~3 years ago), so yeah.. to each his own. :-)

  • Aral Balkan says:

    Well, I have to say that I still use PrimalScript *and* Sepy in addition to Eclipse/ASDT/etc. *and* the Flash IDE.

    (Am I a tool junkie? Probably!)

    Basically, I like how Eclipse handles itself for projects but I want to be able to open up any file at a moments notice and I know that PrimalScript will handle any file I throw at it (pretty much). Other times, I want to quickly open up and work with an AS file (perhaps outside of a project or on a different project, etc.) and for that SEPY rules.

    Gosh — the problems we have… too many great tools… life sure is hard :)

  • Hi Keith,

    Well as other people says, you have tested both enviroments, and you have a license of PrimalScript, and well is a question of what you like best, isn’t it? is great to have such wonderfull projects available and select the one you feel more confortable.

    But I want to add some thoughts…

    The FAME IDE is the effort of lot of people that made all that tools in his spare time, and not a commercial product like PrimalScript. All this tools have been created a few months ago and all entire IDE is evolving and become more mature…

    For example when you say About Flashout:”Have to switch to the Flashout window and hit compile button to compile”. This means that you are not using las version 2.0 that brings CTRL+ENTER and all other things that Eugene has put in the new plugin version.

    I find FAME a truly pleasure and dreaming IDE because my projects are Flash-Java and I can centralize 90% of the process in Eclipse. I can code in ASDT, test in Flashout, start my JOnAS with JOPE, etc…

    It’s normal that you come back to your old IDE, but as you say it’s good to have an eye in the FAME evolution because if those people have created such wonderful tools in those few months…what we could expect to see in the following months?

    btw, thanks to your FAME contributions, it’s a pitty that you leave the FAME world :(

    C.

  • Daniel says:

    Isn’t it cool to have so many options? There’s a code editor for every taste and budget, that’s just great.

    Great review, Keith!

  • Keith Peters says:

    Very true Dan, and Aral. It’s great to have choices. And I want to be clear that I’m not knocking any part of the FAMES setup. If it were an easy choice, I wouldn’t have blogged about it.

    Carlos, I haven’t uninstalled any part of FAMES, and I definitely have my eyes and ears on all things happening in the Flash world. I routinely try out pretty much every editor and Flash integrated tool that appears. I’m sure that there will be some interesting developments in the OS Flash arena in the coming months.

  • well said Keith! As Carlos says, these are great achievments of the community and examples of what open source can do, it deserves big respect.
    At the other hand the downside is pretty obvious as well, the projects are built in spare time, there’s no quality control or rigorous testing as would be in a commercial product. And it’s all patchwork, e.g. there’s a C# gui for a compiler written in OCaml integrated, Eclipse is in Java etc.
    Basically it comes to “use at your own risk”… if you look at the video tutorial (don’t remeber the link), it recommends to use Eclipse 3.1 RC2.
    I wouldn’t even install it outside a testbox or virtual PC.

    Florian