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:
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!
Comments
What you describe are my exact thoughts about this discussion.
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
http://blog.ickydime.com/2009/03/reasons-to-prefer-eclipse-over.html
Way better than anything adobe could make.
ps: Hope the freelancing is going well mate.
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.
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 :)
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.
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
http://www.lfpug.com/fdt-pure-coding-comfort/
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.
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 ;)
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!
- 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 ;)
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 :)
http://www.robmccardle.com/wp/?p=42
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. :)
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 ;)
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?
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 !!!!
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.
http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/
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!
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.
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.
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.
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.
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;
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.
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).
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.
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.
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.