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:
  1. FlashDevelop is free. FDT is quite expensive.
  2. 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.
  3. 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.
  4. 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.
  5. FlashDevelop projects can be moved around easily. Eclipse has confusing hidden project files.
  6. 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 ;)
  7. FlashDevelop has a cute quick-find search box. I couldn't find this in Eclipse.
  8. 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.
  9. 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.
  10. 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!

47 comments:

Alrevez said...

'm sorry, but i agreee with u, in all of this facts, even i prefer using FlashDevelop against Flexbuilder as my AS editor.

Vlad said...

Although I never tried FDT, I absolutely love Flash Develop and my other experiences with Eclipse were a real pain.

What you describe are my exact thoughts about this discussion.

Sam said...

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

Hope that helps

Joseph Burchett said...

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.

Ickydime said...

I disagree and wrote too much to fit in this comment box. Feel free to check out my response here:

http://blog.ickydime.com/2009/03/reasons-to-prefer-eclipse-over.html

Joe said...

Flash Develop rules!
Way better than anything adobe could make.
ps: Hope the freelancing is going well mate.

szataniol said...

You clearly do not know much about Eclipse, do you? :)

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.

Kelvin Luck said...

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...

Kelvin :)

Philippe said...

Ah, this is a hot subject where most people don't really know (and care about) what the other editors can do...

I say the 3 editors (FB, FD, FDT) are good - choose the one you prefer (disclaimer: I'm in FD team).

@Kelvin, about the "FD doesn't":

1. true, Eclipse has a good SVN integration. FD now offers a shell context menu to get Tortoise actions but it's not as good.

2. who uses ant anyway? ;)

3. true, FD will get there too soon (an experimental debugger exists).

4. F4 key, exists since FD2. Works with declarations in SWCs too.

5. type "override" and choose a method/property to generate in the list.

6. FD also shines when it comes to generate code, including events. Since RC1 FD also shows events the target actually dispaches (like in Flex Builder).

7. FD also has snippets, but FDT templates are a bit better.

Cheers.

Jolyon said...

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.

Jolyon

Anonymous said...

I think the fact that flash develop is open source and free is just major pawnage for any AS development environment. Plus it just keeps getting better.

Tink said...

Some peeps reading his might find the following interesting

http://www.lfpug.com/fdt-pure-coding-comfort/

Anonymous said...

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.

Philippe said...

@Jolyon - Iain clearly says in his 1st paragraph that "Of course Mac users don't really have the option of using FlashDevelop".

And you're right, not being crossplatform is a major drawback for FD, so that's true: either it becomes crossplatform or it will fade out in a few years. But we don't see any problem with that ;)

Iain said...

Thanks for all your comments. So far it's 6:5 for Eclipse, but not all of those people have actually used FlashDevelop, so that's not quite fair.

I will write a proper follow-up post soon, but in the meantime thank you to everyone who suggested CTRL-SPACE instead of typing "this". Much nicer!

Philippe said...

@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 ;)

Kelvin Luck said...

@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 :)

Anonymous said...

Screw that!! Use director! Old school at its best!

Rob said...

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.

http://www.robmccardle.com/wp/?p=42

yezzer said...

Totally agree with you Iain. I've used FlashDevelop, Eclipse, and FlexBuilder.

Over a couple of weeks I really tried to like Ecplise and FlexBuilder, but FlashDevelop just seems so much more lean and easy to use from a coder's POV.

Of course FlexBuilder has the upper hand for Flex apps, but when it comes to pure AS3 coding, nothing beats FlashDevelop. IMO. :)

Soenke said...

'have to agree and repeat what philippe said:

And you're right, not being crossplatform is a major drawback for FD, so that's true: either it becomes crossplatform or it will fade out in a few years. But we don't see any problem with that ;)

ozgur uksal said...

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.

Derek said...

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.

onedayitwillmake said...

Flashdevelop rules i'm sorry.

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?

rideforever said...

Flashdevelop has a good debugger NOW ... it's a plugin and quite stable, has breakpoints/stack/variables all the usual stuff all the windows doc as normal. A Radical improvement.

The team are also working on a native (non-plugin) one for the next major release along with refactoring.

... why would you need FDT or Eclipse ?

The FD team has done an amazing job. And any features you could ever want are in the pipeline.

It's free inoffensive and has zero learning curve ... I'm getting a hard on !!!!

manimalcruelty said...

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.

Long live FD.

manimalcruelty said...

Like I said, I'm going to persevere... Just found this very useful tip, getting FDT to replicate the auto code hints functionality!! woo hoo!

http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/

antoniobrandao said...

Flashdevelop kicks ass.

Light, Fast, User friendly, installs in 10 seconds

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 line
ALT-Q: comment line
ALT-SHIFT-DEL: delete text to the right

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

Aleksandr Makov said...

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:

FD3 Advantages:
- real auto-completion
- fast and lightweight
- FREE

FD3 Disadvantage
- WINDOWS ONLY


FDT Advantages
- the Cocoa 64 ver works really quickly
- multi-platform
- error highlighting

FDT Disadvantages
- NO real auto-completion (you manual-completion)
- costs a fortune

In conclusion not FDT nor FD3 is the 100% product of the choice. However, i stick with FD3, even if I have to use it only via Parallels the coding goes much faster with it.

Mike said...

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.

Gihad said...

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.

Col. Kurtz said...

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...

Dan Lavender said...

I've just moved to a new job where they use FDT 3.

I was previously using Flex Builder 3 and FDT 3 isn't quite as good. The things I miss are:

1) If you type "override protected function" then press space, all the inherited functions are listed in FB3, but not in FDT.

2) When creating a variable or inside a function declaration, you type ":" e.g var myVar: a list of native and user defined datatypes becomes available in FB3 not FDT.

3) As above, when selecting a datatype from thye list, the relevant import is created.

I used to use Flash Develop back in 2006, then it was the best editor around. Not used it since though because I moved to Macs.

Anonymous said...

Read all that,informative Comments
worked on FB, FDT, FD.

Configuration:
FB,FDT works fine if properly configured.
FD minimum to no configuration.

Subversion + Build Task:
FB,FDT - ANT, SVN support.
FD - http://nareshkhokhani.wordpress.com/2008/08/17/flashdevelop-and-svn-integration/

Symbol Explorer:
FDT, FB !!
FD - Symbol Explorer

Learning Curve
FD-Immediately intuitive
FB,FDT-learning curve

Debugger:
FB,FDT-Quality One's.
FD- Good Enough.

Price
FB,FDT- Sends my boss for a ride!
FD-Please Donnate!

Cross OS:
FB,FDT - Cross Os
FD - Windows

The Straight Way:
FB-mxml,AS;
FD-flash IDE,AS;
FDT-Somewhere in the middle;

Stu said...

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.

Anonymous said...

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.

Iain said...

@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 ;)

Dotan said...

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).

Andreas said...

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.

Personal preference and workflow trumps all.

Anonymous said...

what about debugging/profiling tools in FlashDevelop? I guess there is no such thing, or?

Anonymous said...

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.

[MT]OMalley said...

Happy FlashDevelop user here, just throwing my thumbs up at you!

Rick said...

coming from the flash ide, flashdevelop has absolutely no learning curve. Eclipse, which I tried before, was a real pain.

Kawika said...

FlashDevelop is the best. Eclipse, and IntelliJ IDEA, are both too complicated.

Sy said...

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.

Nigel said...
This comment has been removed by the author.
Nigel said...

One reason I like FlashDevelop is that the outline window tracks the AS functions in the script tags of an MXML document. I can't get Eclipse to do that.

Otherwise, I think Eclipse has the clear advantage for experienced developers who know how to master it's flexibility, especially if they need something that will also work for Java or even C++.

What I get out of Iain's blog is that Eclipse isn't so popular with beginners using Macs.