This post is going to be about my recent experiences working with ActionScript in different IDEs. I am a longtime Flash Develop (FD) user/fanboy and have been using it solely for the past 5-6 years, however, at Playerthree we have started to work more and more with Adobe AIR and developing Flash games that run in both the browser and on mobile, “write once, run everywhere”… Well doing so in FD required constantly changing config settings to create different builds which when testing can be a bit of a pain. Compared to Adobe Flash Builder (FB) in which you can set up predefined configurations and choose which one to run from a drop-down menu, I started to think about switching IDE. Also with half the team at Playerthree using Mac’s, sharing projects was also a pain.
So as Head of Flash at P3, I decided to try and find the best IDE for our needs, mainly mobile/AIR development and sharing projects across systems. Initially I was going to just try FB and hope that it was good enough that the PC users to switch over, but I was also recommended to try out IntelliJ IDEA (IntelliJ) and with that, I decided to try out FDT also as I know developers who love it.
I had previously tried FB but it was way back when it had just been renamed from Flex Builder. FB is built on top of Eclipse, a Java based IDE and at the time although I was really impressed with its profiler and debugger, compared to FD it was lacking features such as code generation and snippets etc.
The current version, 4.6 has come a long way, it now has all the usual code-generation, snippets and completion and with a few changes to the code completion delay, some custom keyboard shortcuts, I was coding away. As I mentioned earlier, being able to define multiple deploy configurations saves so much time.
Refactoring was another thing that I never really thought about but after using FBs refactoring I don’t think I could live without it, Flash Develop has refactoring but it’s not on the same level. FBs biggest let down is its syntax highlighting and customisation.
IntelliJ is another Java centred IDE but if you purchase a licence or are working on an open source project, you can use it for ActionScript development, and very good at it, it is.
IntelliJ feels more like Flash Builder than Flash Develop, it’s a serious IDE and you have to jump through a couple of hoops to get started, such as creating ‘Modules’. It, however, is very clean, the menus easy to find (unlike Eclipse) and you can customise anything and everything, and if that’s not enough, there are tonnes of plugins to choose from. I really enjoyed working in IntelliJ, my only gripes are that I didn’t like the whole creating modules. Also, I couldn’t get backspace to delete tabbed spaces, minor but still irritating. Finally, they just released a dark theme, that’s cool! Check out some of John Linquists videos for more info on IntelliJ. http://www.youtube.com/watch?v=EdK1BBC9Jpc
I had never used FDT before, but I knew people who did and would swear by it so I was keen to give it a go. FDT like FB is built on top of Eclipse but I would say FDT is better integrated. Straight away I could see the similarities with FB, the two are almost identical except FDT does everything a little bit better, for example when creating deployment configurations you can also specify different compiler settings, in FB this option was unavailable, importing external libraries can be done in multiple ways, modifying AIR application XML has its own GUI that makes it really easy to toggle settings (I believe FD now has a similar feature), and importantly, unlike FB it has syntax custom colouring. All in all it is just better than FB. There is also a free version which is cool, but it is limited, several features are cut including being able to use external code libraries, something we use a lot at Playerthree. The makers of FDT has kindly uploaded a whole bunch of videos showing how to do stuff, check them out if you’re interested. https://vimeo.com/fdt/videos/page:7/sort:date
So in the end which IDE did I choose? It had to be FDT. For me, there is no reason to use Flash Builder when you could use FDT and although I really liked IntelliJ IDEA, with so much happening in the ActionScript world right now, I want to know the team behind the IDE are dedicated to ActionScript and will keep up with all the updates and changes. Another reason to choose FDT over IntelliJ for playerthree is that half the team (mac users) already use Flash Builder and so the transition would be relatively painless. In other circumstances, say if I was an indie developer, or just starting out, I think I would choose IntelliJ.
So in closing I just wanted to say there is tonnes of features that I have not mentioned, there will be tonnes of features that I do not even know about, I used Flash Builder for a week and IntelliJ IDEA and FDT both for their trial periods of 30 days, if you know how to do anything in any of the IDEs that I didn’t please let me know. Due to FDTs subscription service, I now have a years worth of licence, I think I will see where we are in and years time. Finally, Flash Develop, you still hold a special place in my heart and I still use you at home, thanks for being free and totally awesome :)