Friday, 6 March 2009

10 reasons I prefer FlashDevelop to Eclipse and FDT

I know this is well-trodden ground (e.g. FDT Vs. FlashDevelop on flashmech), but I've finally spent some time with Eclipse and FDT, and to be honest I can't really see what the fuss is about. Of course Mac users don't really have the option of using FlashDevelop(except under emulation), but for PC users, I just don't see the advantage of Eclipse. Obviously the PowerFlasher guys have done a great job on their part, but Eclipse is just too unintuitive for me.

So here's 10 reasons I prefer FlashDevelop to Eclipse:

FlashDevelop is free. FDT is quite expensive.

FlashDevelop starts auto-completing as soon as you start typing. In FDT you have to type "this." to get the auto-completion menu. UPDATE: Sorry, you can also press CTRL-SPACE, but it's still an extra step.

FlashDevelop automatically adds import statements. Eclipse doesn't, as far as I can see. UPDATE: I think it should have done but was badly configured on the Mac I was using.

FlashDevelop's project window automatically finds new files. In Eclipse you have to add the folder manually, then tell Eclipse it's a source folder. UPDATE: Again, this was partly due to bad configuration, but Eclipse convoluted enough to let this happen easily.

FlashDevelop projects can be moved around easily. Eclipse has confusing hidden project files.

FlashDevelop renders fast. Text in Eclipse has a delay before formatting correctly. UPDATE: This is probably down to the beat-up old Mac I was using ;)

FlashDevelop has a cute quick-find search box. I couldn't find this in Eclipse.

FlashDevelop has zero learning curve - I picked it up instantly. I have wrestled with Eclipse for a week and still don't feel I've cracked it.

CTRL + ENTER in FlashDevelop switches to the Flash IDE and publishes. Eclipse doesn't do this. UPDATE: Can be done with a free plug-in. Probably better to use FlexSDK and asset SWCs anyway.

CTRL + the mouse wheel changes the text-size in FlashDevelop. I had to use google just to work out how to change the font size in Eclipse!

If anyone can counter any of these points it would help me a lot, as I have to use Eclipse for the next week, so please leave comments!

I’ve never used FlashDevelope, plan to soon tho.What I love about eclipse and FDT:

• Alt+D – deletes a line (no need to select the whole thing) or multiple lines where a bit of the line is selected

• Alt+ arrow key moves the line up or down or multiple lines where a bit of the line is selected

• FDT should import classes automatically, if not you can Ctrl+1 on the red underlined word for auto complete ( this works on any error) or press Ctrl+shift+O this adds any needed imports and removes any unused

• The custom templates you can add and modify and call up by pressing Ctrl+space – this also gives you auto complete before you get to the “.” In “this.”

• Ctrl+F is quick search and replace

• Select a folder in the flash explorer window and press Ctrl+H for more advanced search options like “selected resources” to search that folder only – then you can cycle through the occurrences with the yellow arrow in the search window.

FDT is expensive, think I might just try FlashDevelope @ home from now as my FDT trial ran out a while ago.Eclipse is quite confusing as it has so many options and extensions, ive been using it for over 2 years and I don’t think I have fully grasped it yet.You can get Flex Builder in eclipse so you can publish from it but you wont get a fla file for flash projects.I would recommend checking out the cheat sheats : weblogs.goshaky.com/weblogs/lars/resource/eclipse.pdf and http://www.betriebsraum.de/blog/wp-content/uploads/2006/03/fdt_shortcuts.pdf

I agree with you, I use Flash Develop all the time! For both AS3 and Flex development. It really is a fantastic tool, it even has PHP code highlighting, AIR, Haxe, etc support... It truly is an amazing tool. My favorite features would have to be that the way it is able to find a class or package lighting fast, and the ASdoc and code hinting is amazing! It would be the perfect tool if it had a good debugger (there is one there sorta....) and a profiling tool. But yeah Flash Develop is hands down the best AS3 IDE.

2, 3 - You're wrong.4 - Just add files via Eclipse? 5 - That's because Eclipse has refactoring.. If in any time in the future FlashDevelop team would implement it you would have the same problem. 6 - nope? ;)7 - ya, you couldn't because you use it for, I don't know, like 15 minutes?

Why do you post such comparision if you don't know anything about Eclipse? I have used both editors and I will never use FlashDevelop again. As everyone who got to know Eclipse well enough.

I have to disagree. I've tried Flash Develop a few times but it always seems a little lacking, possibly because I've learnt to use FDT well over the years and so I expect things to work the same in Flash Develop... You definitely can't argue with the price of Flash Develop though and I think it is a great editor... FDT is just more so in my experience.

In terms of your points:

1) Agree although FDT does have a free license for open source developers. So I didn't pay for it ;)

2) You can press Ctrl+Space at any time to bring up the autocomplete menu.

3) It does for me. Plus Ctrl+Shift+O organises imports into a nice order and removes any unnecessary ones.

4) Did you try pressing F5 to refresh the folder structure? I also haven't run into the problem of having to tell Eclipse what's a source folder - I have one main one per project and then each external library (normally linked in via svn:externals) is one too.

5) True. But why do you need to move them? Why does it matter where they are on your disk? My projects are all in SVN anyway so the location on disc isn't important...

6) Possibly. I remember first time I used Eclipse (5 years ago?) it seemed sluggish. It doesn't any more... You can assign more memory in eclipse.ini - maybe that's why? Or maybe I'm just used to a very slight delay?

7) I don't think it has one (firefox style, at bottom of page). The search results panel is useful when you have multiple results to move between. Plus highlight a word and press Ctrl-K to jump to next instance.

8) True. I remember having trouble first getting my head around Eclipse. I think it's worth it once you do...

9) But F11 compiles with mxmlc and starts the debugger :) I think you used to be able to make it compile in flash too (back in Flash 8 and AS2) but I haven't really used the Flash IDE since AS3 so I'm not sure about now...

10) I've never needed to do this so can't comment.

Now some things I think FDT which (afaik) Flash Develop doesn't:

1) Subclipse svn integration.2) Built in ant so you can have scripts to e.g. compile libraries to swcs.3) Built in debugger - not quite as good as Flex Builder's yet but getting there (and code editing in FB sucks).4) Hold Ctrl and click on any variable or class name to jump to the definition. Especially good to jump to superclasses.5) Ctrl+space inside a class but not inside a method will allow you to automatically override any methods of the superclass. Or generate the constructor.6) This is a big one... Autocomplete addEventListener, then choose the type of event and then type the name of the listener. Press Ctrl+1 and it will automatically generate the listener complete with correct arguments etc.7) Templates! snippets of custom code which you can trigger for insertion at any point. Great for getters and setters amoungst others.

There are loads more but hopefully some of those are useful and this comment is already long enough! I think with FDT I only actually type about 5% of the code in my classes - the rest is generated and autocompleted... Saves a lot of time...

That's 2 contentious posts in as many weeks. Anyone would think you're trying to drive traffic to your site ;-)

I have to strongly disagree with a lot of these points, I think they've been covered in the comments already so I won't repeat.

There is however one major point that no-one has mentioned yet. FlashDevelop is not cross platform. You only have to look around the room at any Flash conference to roughly gauge the market share Apple has, I'd guess about 60-70%. While FlashDevelop can only target 30-40% of Flash developers it's never going to get the bigger piece of the pie. I'd give it another year or 2 before it goes out with a bang or simply fades away.

I think Flash Develop is good choice for 'novice' Flash developers who are still learning the ropes of Actionscript and can't afford to pay for an external Actionscript editor.

FDT and Flex Builder certainly has all the features for a experienced developer the killer for Flash Develop is cross platform programming, code templates and subclipse and if you don't think you use ANT and the command line then I would say you are still a novice developer.

@Anonymous:- FD offers code, file and project templates.- FD projects offer plenty of compiler customization and automation possibilities, but now if you think you can't live without ANT, then you're juste a boring Java-like developer and please be happy with Eclipse ;)

@Philippe - Thanks for the information on the things I missed in FD. Like I said, I think it's a great editor and the fact that you guys have made it opensource and free is amazing :) And lots of my preference for FDT is probably just because I've learnt how to use it...

I have to disagree with you about FB being a good editor though :p

I'm planning a bit more haXe coding soon and that's a definite advantage FD has over FDT so hopefully I'll be learning more about FD too :)

FDT Eclipse can be set up to CTRL + ENTER and work smoothly with Flash actually - that was a big downer for me but now I have it running nicely. Eclipse is way more advanced and takes a while to get used to but hanging in there has its rewards.

I used FlashDevelop and liked all the keyboard shortcuts but, had to use Mac at work, therefore, I had no choice other than using FlexBuilder since it runs on both PC and MAC. I think, the biggest weakness of FlashDevelop is that it doesn't support platforms other than PC and many Flash Developers/Designers use MAC.

Couldn't disagree more with the lack of cross platform being a serious issue for FD. Most programmers/developers working on OS X have windows running in vmware or parallels. It is very easy to get FD running in vmware unity mode with the ctrl + enter shortcut functional.

One reason alone is the look.You can't can't have TOO MUCH syntax code-coloring. In flash develop, i opened up the xml file, and added all kinds of terms to the reserved so they could be color coded.

addchil/addEventListener/removeEventListener/linestyle/lineTo/moveTo/int/Number/graphics-Those are special words and should be color coded as such. I hate text editors where very little is color coded like comments or numbers and very selective reserved words. What's the point?

Been using FlashDevelop for ages, from the days of mtasc through to mxmlc and quite honestly love it, it seems lightweight and fast where as fdt seems bloated. I have to use a mac at work and I'm going to give fdt a chance as I know it has some great features, but so far having to press Command+SPACE just to get code hints is a pain in the ass! FlashDevelop does this as you type.

Despite the extra fancy features, if FD lets me code faster without having to press Command+SPACE every few secs, then I'm firing up parallels and going back to FD.

I change the appearence of background, caret, selection, different parts of text with EXTREME ease and that's important for me cuase I hate white BGs. My Flashdeveloped is TUNED! I have colleagues using Eclipse and it's a pain in the ass to customize it's appearence (compared to flashdevelop at least).

When I type the name of a class that wasn't imported, it imports it for me without shortcuts.

Creating setters/getters, functions, or declaring variables is as easy as writing something and pressing CTRL-1.

Creating standard programming elements such as FORs, SWITCHs, etc is in a flash, just write the 2 first characters and press TAB, you're done.

I can make extra code snippets real easily.

Code completion is amazing, if not perfect, comes up automatically and can be called with shortcut.

I compile and switch to Flash IDE in ONE KEYSTROKE (F6). That's really awesome.

Predefined shortcuts I use a lot:ALT-D: duplicate lineALT-Q: comment lineALT-SHIFT-DEL: delete text to the right

I don't fell like writing anymore.. need to go lunch. Get Flashdevelop!

Just downloaded FDT 3.5 beta (Cocoa 64). Right out of the box created new Flash Project. Created new class, also wanted to choose "Sprite" as super class, but this window did not find it automatically, I had to press "Browse" button to the right. Took like 6 seconds to create a new class after pressing "ok" button. Started typing in the constructor method:

var moo:URLLoader = new URLLoader( new URLRequest( "...") );

no code hinting, no imports happened. Then I added my libraries to the linked libraries and added that folder to the project. At the imports I started typing:

import MovieMaterial

FDT did not find it. The actual path to this class is org.papervision3d.materials.MovieMaterial . FDT did not find it. While FlashDevelop did all what I needed in no time, without a question.

Next, I like working with dark theme. FD3 does this much more efficiently than FDT.

I cannot use ctrl+space since i have multiple languages and changing input language is bound to this key combo. Found NO way to make auto-complition to be AUTO - completion. However, I temporarily disabled the ctrl+space for Spotlight, and yes, in case of typing inside the constructor method - FDT found the path to MovieMaterial and automatically added the import line. In the imports block this auto-completion did not find the path to MovieMaterial.

I'm not a pro user of FDT or FD3 ( was using Flex and Flash IDE ) and used them for couple of days only and coding efficiency in FD3 is notably better than in FDT. And here is the list of my thoughts about both of the products:

I'm sure the others have their advantages but when it comes to a slick lightweight, but feature full editor for Flash that has handled all the projects I've worked on recently perfectly, Flash Develop wins for me. The auto-completion options are great and it feels so fast, plus if I'm moving round to other machines the setup is quick and transfering projects easy.

For now anyway I don't need any of the added features or other languages enough to warrant paying up or dealing with a newer less snappy system.

I think the only real advantages I see in FlashDevelop is its non-existent price and its light-weightness. Other than that, Adobe Flex Builder seems a bit heavy on my old Macbook White, but still performs pretty good.

Most of your arguments against Eclipse are based on bad configuration/system on your side, so they really don't count... Eclipse is a great tool for developing, especially when you know all those neat hotkeys you can use to speed up development.

And I find the "Open Resource" (CMD-SHIFT-R) option in Eclipse to be a great time-saver for opening project files by name directly, whereas I can't find any such function in FlashDevelop. Don't get me wrong here, I like FlashDevelop and I prefer using it to Eclipse on Windows, but Eclipse is still a great IDE to use.

My personal reason for using FD3 is the Ctrl+Mousewheel-Textzoom since I am sitting in front of a 15"-UWXGA+-Laptop (Thinkpad Z61p) with 1920 x-resolution. FD3 allows me to zoom in and out of code superfast and in combination with the magic F4 makes me feel like a god of programming. FDT makes my eyes bleed...

I know that this is quite an old post, but I have to agree with you. I struggled with moving from the Flash IDE to FlexBuilder and found it completely unintuitive - it seems to presume that you know everything about everything before you can use it. 2 months of frustration later someone introduced me to FlashDevelop...I picked it up in under 5 minutes and have found it wonderful to use ever since. I just wish it had a little more support - it doesn't feel as though many add-ons are or will be produced for it. Currently though, I can see no reason to change - FD is truly excellent.

Where is a handy and clearly put together setup and configuration guide for FlashDevelop with Eclipse? Why is it a friken nightmare to get any of these pieces installed and configured without shelling out hundreds of dollars for a dumb ad on? Anyone?

Would love to use this instead of FDT or whatever, but I'll have to use Flash CS4 for my coding because there is no guide anywhere online (that I can find) that goes through the setup and configuration process in detail. It's really dumb.

@Anonymous person: FlashDevelop is a stand-alone application for Windows. It isn't available for Mac. It is nothing to do with Eclipse and doesn't relate to Eclipse in any way. FlashDevelop.org has all the resources you need to get started. FlashDevelop will work pretty much out of the box, you just need to download the free Flex SDK from the Adobe website and point FlashDevelop to it. Alternatively, you can create a Flash IDE project in FlashDevelop which will use Flash CS3/4 to publish your swf. It is not dumb, it is awesome ;)

I used eclipse for java and Flash Develop for AS3 and i agree that FD is more comfortable.Yes eclipse as a lot more functionality (like code re factoring, mass import complite and more), but FD's interface is more clear and intuitive. its a lot easier to work with and as less annoying quirks and bugs.something about the text size,positioning and coloring is better in FD (and i worked with eclipse before i started with SD, so its not a "used to" thing).

For me it comes down to the simple fact that on Windows there is no competing IDE that comes close to FD's responsiveness. It is blisteringly fast in all respects, almost supernaturally so comparing it to its competition.

Feature for feature you will always find an idiosyncrasy of a given IDE that makes you fall in love with it (ah, love, isn't that how it always is?), and for me the performance and footprint of FD makes the notion of switching to FB or FDT almost funny. This is, again, not to rail on those IDEs, but I simply cannot revert to a swiss army knife now that I've been slicing code with a freaking LASER for years.

My only complaint about FD is the lackluster refactoring. Beyond that, i wouldn't touch FDT even if i was given it for free.

I started one year ago with FD. It was good, I liked it. Then Adobe gave for free FB3 for a short time(under some conditions). Since it was based on eclipse and that I wasn't eager about it, I stayed on FD. But after I had to use eclipse at my work (for java), I learned to use it and I started to really like it. So I gave a chance to FB3, even tough it uses an old version of eclipse, and I can't imagine to return to FD.The arguments in favor of FB are:- autogeneration and refactoring. It's just astonishing how eclipse is powerful in that.- debugger. In FD it's almost inexistant. And Flash has a very poor one. But FB can even decompile external swf with classes(as long as you have the source somewhere).- shortcuts. With eclipse you have almost no need for the mouse. And when you passed the steep learn curve, you are efficient. It's like Blender (powerful 3d authoring tool using a lot of shortcuts and being disliked for the same reason).

What I miss in FB that is, even partially, in FD are:

- formatting. I heard it's in FB4, but I miss it. In eclipse/java, it becames essential for me. FD does it a bit.- autocompletion of reserved words. I liked how FD completes pr to private, and things like that. But it seems eclipse itself doesn't do that (shame! because netbeans does).- a lot of things and tools that exist only in more recent eclipse versions. Getters and setters, alt+shift+up selection, etc.

Overall FD is really good, but alas I tasted eclipse at its full power (java) and it's hard to go back.In order to go back to FD, I need a debugger (essential), and a lot, a lot, a lot of hotkeys, refactoring and editor features.

In the past, FlashDevelop had limited functionality and some issues (just because it was in early development stage) but today it has technically all the functionality a Flash developer needs, it is easy to use, it's constantly being improved, built specifically for ActionScript programming (unlike Eclipse whch was made specifically to cause headaches). Frankly, there is no reason for trying anything else, other then your boss forcing you to do that or your interest in self-inflicted pain.