FlexBuilder 3 vs FDT 3

After 3 years I have finally given up on FDT.

For all the amazing code hinting I would get out of FDT and real time error checking I just couldn’t live with the speed and memory requirements any longer. I am using a 2.6 ghz MacBook Pro with 4 gigs of ram. There is no reason why I should see a beach ball while I type, or when I open an application, or even when the workspace is constantly rebuilding itself. For all the stuff I love in FDT the final death blow was a recent bug that popped up with my FDT + Flex SDK building combo. I keep getting a Java error or Eclipse BeachBalls and crashes. This is recent, but is only the icing on a cake of crap I put up with because I was basically to lazy to type out my own variables and import packages.

So what am I using now? I am 90% into FlexBuilder. I swore I would never make the plunge but after a week of developing I feel just as productive and more in touch with the core language again. I am trying to not rely so much on the code completion unless I really need it.

I also tried TextMate but found it to be way to basic. I admit I should be using an editor that is even more light weight with no code completion but while building my new frame work, when lots of classes are in flux and are being moved around, TextMate just couldn’t cut it. Refactoring has always been one of Eclipse’s strong points. Plus with TextMates lack of a “visual” SVN/CVS repository manager, I feel compelled to stay within the Eclipse system.

So what is so good about FlexBuilder? Well here are a few of my observations:

  • Its fast. I mean damn fast. I always thought Eclipse was the underlining problem with FDT but I was so wrong. When you use the standalone FlexBuilder it is super fast. The key to this speed is that no validation is done until you hit save. Then you get error checking with a special twist. Its seems to be incrementally compiling with every save so when you compile, it instantly opens.
  • Support for code completion. I still get a basic level of code completion. Good for jogging my memory but not as much of a crutch as FDT. I feel like the system guides me now as opposed to me solely relying on the code completion, variable generation, and class templates.
  • Plugin support. I still get to add in some of my favorite plugins such as XMLBuddy and SVN.
  • And did I mention its fast. I didn’t even have to allocate more memory to FlexBuilder. It ran fine in default and my laptop’s fan wasn’t constantly running.
  • I still get to use my SVN/CVS tools such as repository exploring, compare, replace, and one hell of a file merge.
  • Re-factoring is easier. FDT still holds the title for easy re-factoring and since FlexBuilder was all about “re-factoring” I thought I was in for a treat. It does work when renaming classes and I like the advanced tab that shows you all the classes that will be changed. Also the Find all is a big help as well.
  • Workspace auto refreshes. I can’t tell you how much I hate that FDT’s workspace is always out of sync. From committing files to adding new ones on the files system, FlexBuilder keeps up. I don’t think I have ever touched the refresh option in the project. In FDT every time I wanted to do something file related I hit that refresh just to be safe.

Unfortunately life isn’t always roses in the FlexBuilder. Adobe still has a lot of work to do to bring it up to speed with FDT and help compete:

  • WTF, no templates? The most basic core part of FDT was templates, they made everything so much faster and consistent. No luck, although on a mac I have a little helper to “substitute” those templates. I have been using TextExpander but its not perfect and I am not happy.
  • Something is missing, its still a pain in the ass to set up projects. Right now I am using the AS 3 Project Template instead of the Flex Project. Why doesn’t the AS 3 project come with a default src folder like the Flex one. Small oversight but its one extra step I need to do in the project setup to get it configured the way I need it.
  • Linked libraries are a pain to set up. why do I have to jump through so many hoops for a simple linked library to run. Again I thought this was an Eclipse issue but it turns out FlexBuilder sets them up the same exact way FDT does but in FlexBuilder I have to go through 4 more steps to do it.
  • bin-debug folder sucks. Maybe I just don’t understand yet but why is that the default build path when I can’t add/edit files in there because its considered a “derived” folder. I like that the wrapper HTML is auto generated but I don’t see where I can set up all my other files to be like that such as my config XMLs, Graphics, and other swfs. Bad workflow, and also the directory is ignored in SVN so when you add stuff to it, it doesn’t committed. Again something I may not understand just yet.

So it looks like there is more Bad then Good, why do I still like it? Maybe its the old girlfriend1 you just can’t get over. Flash and me have always had this love hate relationship. I feel this need to have some pain in my development in order to feel that I have built something monumental. I don’t mind a little pain as long as its over quickly. I would gladly give up FDT to just have an editor that was a few seconds faster. Speed is everything; code hinting + auto compile + low memory = good tool. The other stuff is fluff anyways and if the developers at Adobe put a little extra effort into the next version, we should see all of the stuff that is missing now. Its not like it can’t be done, I have seen everything I want in FDT.

Now if only the guys who make FDT could give me a setting to make the validator only kick in after I save, and not make it real time, I would gladly shell out the $600+ again for the plugin. The jackpot would probably be a standalone FDT editor based on eclipse without all the Java Editor BS. Something light weight and portable/standalone like FlexBuilder.

Competition is good. Adobe needs to be reminded that they are not the only game in town. Also, Flash CS 3 is now almost obsolete for me. I have no use for the IDE. I can’t tell you how happy I am to be done with that piece of crap. You would think after 6+ years they could have made a better IDE. Sorry, low blow to Adobe (Macromedia) but I do not have a single fond memory of using the IDE. I could write a book on how much using Flash 4-MX + 8 + CS 3 sucked.

  1. Wayne and Garth’s hobbies include … avoiding Wayne’s ex-girlfriend Stacy, (whom he refers to as a “psycho hose beast”)… – Wikipedia []
  • tarungupta
    Saltmarch Media's annual Great Indian Developer Awards honors software Products. The final shortlist consists of IBM’s Rational Application Developer; Microsoft’s Visual Studio 2010; Adobe’s Flex Builder; Popular open-source IDE – Eclipse and Microsoft’s Expression Studio. Oracle’s JBuilder was the first IDE to win this award in 2008 followed by Microsoft’s Visual Studio 2008 in the 2009 chapter of the same awards. So visit the 2010 Great Indian Developer Awards website and cast your vote. It counts! (www.developersummit.com/gida3_llist)
  • marabout
    Hi all,

    Personnally I have been using FDT since version 1 I believe and before that I had been using FlashDevelop and some other text editors that had color hinting for AS. I haven't tryed FlexBuilder but why should I? I have never had troubles using FDT and I love its features. It's fast enough for me ever thinking of performance problems. Yes setting up a project is a bit pain in the ass, but I have come to use ant building instead of the projects properties and build stuff and that's fine.

    May be I have been using your advice Brainiac5 without thinking, just because it worked well.

    Also I'm running it on a PC... it's more and more that I see flash developpers using Macs, which I understand from a personal point of view, because these are beautiful objects and obviously OSX is a much more exciting os than Windows will ever dream of being. But at the same time I see more and more developpers complaining... about the softwares that work well on PCs. May be that's sad but macs are new comers into the dev world, and development software companies have massively been focusing on pcs and nixes for ages. What did you mac people expect? That all this industry would fill the gap in seconds? The mac versions of the Flash IDE and player are notorious crap and yes, targetting several oses means more work, and even big companies are not too keen on doing it. If you want to pioneer into actionscript development on macs anyway, you're free to complain ;-)

    I have to say that I am not a member of the FDT team althought my comment could read as I am :-))
  • Try writing Classic ASP or PHP code in Dreamweaver 5+ years ago...no code hints there.
    I just learned to make do. I had to learn my coding language or learn to use Google to find what I needed.

    I love the Flash IDE and have not really had much need for anything else. I also have FlexBuilder 3, but have not used it much except for assessment purposes. Perhaps I'll utilize FlexBuilder for my next project??

    I don't really see what all of the grumbling is about. In Flash CS3, I keep each project independently. Each project has a flash folder and a src folder. The Flash Folder keeps the .fla and the .swf output. In the src folder I keep the class files. In the xml folder I keep the xml documents and in the images folder I keep the images. It keeps each project consistent. When things go live, you only push up/copy the .swf file and the xml. What else do you need?

    External resources? Then upload/copy all of those folders too.

    Better yet, only commit what you need to the .svn repo. Hopefully your web solution is that your web server points to a repo or that repo. Run an update to build the new repo on the web server...
  • Brainiac5
    There is a switch in FDT to have the source checked only when you hit some key (or do a build via menu? Sorry, forgot). It's just two clicks away. Something like Project->auto build or so.

    This makes FDT fast enough to work with on any machine. And it even makes sense to change that option frequently, depending on what you do.

    Or, get rid of your warnings and errors from time to time and try to keep the code clean. You'll see the difference,

    And don't have the Flash libs set up as part of the source. This can happen when you set the libs up by trial and error. See if you can follow native AS3 functions back into their source (with F2?). You should not be able to do that and it won't help much. If you can, then FDT scans all the native Flash stuff for errors all the time. Which is not making it faster.
  • Joe Wheeler: You are lucky then to be working in a place where volume licensing, and the cost-savings this produces for the company, is not a consideration. You are also equally unlucky to be working in a place where it must take a whole day to get a developer up and running with a fully-configured workspace/project. We choose one IDE and automate all of the setup, so we can have a new developer in a seat and adding value to the code-base in minutes. You can't do that if they're all turning up with their own code editors on day one.
  • I'm surprised by how much of a battle this has become. I'm currently working in an environment where developers are left to choose there editor of choice. We've got an automated build using mxmlc, ant and cruise-control, so our choice of editor is (theoretically) irrelevant. However the debate rages on...

    Personally, I'm still using FDT. I find the better integration of error checking (red crosses in the Flash Explorer) help me compile a lot less, which makes me much more productive. And, I only find FDT performance issues when the code contains lots of errors. I never see a beach ball if the code base is error free. One thing you can do to help FDT, move all third-party code into a "lib" source folder and turn "Generate/Problems Tasks" on the lib folder (Project Properties > FDT Build Path).
  • IllusionSector, FDT does have what they call "organize packages" I think its command (apple) + shift + o or something similar. I honestly have been using FlexBuilder for the past few months and can't remember. Although Flex Builder originally did a poor job of managing package imports I have notice an improvement with the FlexBuilder 3.1 update.

    As far as FlashBuilder goes I hear good things about it. I would love to try it out but I am on a Mac and I refuse to develop in Windows. As far as it being open source I think thats great and wish there was a good, solid cross platform ActionScript editor that was free. Thats why I try to keep all my builds running through ANT and use the open source Flex SDK just in case I need to ditch the editor and go old school in a regular text editor.

    Glad to hear this article is so helpful.
  • Sev
    I went from Flash IDE (from 3 to 8) to FDT (1.5 than 3) to Flex Builder. While FDT was a HUUUUGE step forward considering the miserable Flash IDE, I'm now very happy with FB. Why? Mainly for 3 reasons (two of them you or others mentioned here too):

    1. Setup. FDT is a pain in the ass to have things running. Once you have it running, it's acceptable, but you still have to mess around with ANT files for every project if you want things to go smooth in the future. With FB it's all pretty comfortable (if you follow standard paths at least).

    2. Speed. I started FDT with a dual G5, and speed was allways an issue. They should at least provide an option to turn off the «check as you type» feature. May be that would ease things. FB on the other side is super speedy and speed is so much of a relief.

    3. Debugger. I couldn't live without this thing anymore. The debugger is just a fantastic tool! FDT has (for enough money) a debugger too, but I never got it to run (back to point 1 ;).

    Stil I'm looking forward to more refactoring, more coding support (FDT has some nifty tricks here), more support for non-flex projects.
  • Thanks a lot for the thorough comparison article. In the midst of test-driving the trial versions of the two rivals struggling to decide which one deserves the investment (of limited resources), your expert review came in really handy.
    Question: I noticed how when declaring a variable of a certain type, FlexBuilder's smart auto-complete feature would kick in and add the 'import' necessary statement for you. Now; I didn't find this in FDT because it's disabled by default, or because it's simply not there?
    Thank you.
    PS. Do you have a stance on FleshDevelop? Granted, it's probably too, uhm… 'open-source' to compete with commercial solutions but it has matured greatly by now, no?
  • Try IntelliJ IDEA 8
  • Martin
    Tried FDT after having used flexbuilder since version 2 came out. I also do Java in Eclipse so I know that flexbuilder is far from being close to what a good editor in eclipse can be.

    But FDT is such a pain in the ass to set up when you have a lot of AS projects that were set up in flexbuilder. Maybe it's just me but I just don't get it why everything setup related in fdt is trial and error. Click debug, nothing happens, no errors. no hints. "Google is your friend" they say. Right. But I am not paying fdt's rediculous price tag if they don't car to make it user friendly.

    I am sure there is a solution for everything. But I didn't have that much hassle setting up flexbuilder, Visual Studio (C++), JDT or what have you. Even Flashdevelop is so much more userfriendly. Farewell FDT, I am hoping for a much improved flexbuilder version. In the meantime it serves me quite well.
  • fornetti
    I do not believe this
  • I love fdt, use it all the time, so good :) .. but am learing flex builder .. via the flex builder plug in .. anyone got any good workflows to use the tools in fdt for formatting, and working with flex builder classes ?

    pholliday@mac.com


    Best,
    Paul
  • Jordi
    As for the bin-debug. Everything placed in your source folder will be copied there (if everything goes well) that isn't .as (and maybe some other extensions). If you want stuff to be excluded, keep it out off the source path, cause in that case it should be in there (for instance when you [EMBED]).

    The reason why you SHOULD NOT commit this directory in SVN is because it is a build. In the File menu you can make a release build (File > Export > Release Build) which creates a bin-release dir. This is the thing you might want to commit. I didn't yet notice why this is ignored but it makes sense.
  • I am sure everyone's milage will vary but you have to give FDT half a gig to run. That doesn't leave much left for mail, web browser (FireFox is a memory hog), FTP, PhotoShop and Flash IDE.
  • FlashDev
    I must say I run FDT 3 on a machine with only 1gb or ram and am having no performance problems.

    Sounds like its something to do with your machine rather than the app. I am running FDT 3 on Windows XP so perhaps thats the difference??
  • I have actually purchased FDT at all 3 of the last companies I worked at. I think its a great app but its even harder now to justify the cost when its not production ready or stable. At Heavy I just purchased a license for Flex Builder for myself and I will continue to follow FDT as it evolves. Hopefully they will improve FDT in the next release. Its hard to be the jack of all traits (supporting AS 2 and 3. Also, It would be nice to keep some pressure on Adobe to make Flex Builder better. In that situation we all win!
  • I couldn't agree more with your comments. I'm glad I'm not the only dev out there that loves the feature set in FDT but cannot make a recommendation to purchase it software because of the inherent performance issues. Stability will always will the day when you're working to a tight schedule.
blog comments powered by Disqus