This entry started off as me describing some of the cool features of NeoSwiff that Flash is currently lacking. Then, I started rambling and made this post much longer than I wanted, so I decided to cut out the NeoSwiff features for another day and leave my ramblings in tact.
Hi, my name is Darron. I'm a developer, and I love seeing new .swf creation tools hit the market. Here's why.
It has always been the philosophy of Microsoft that if you want people to develop for your platform you have to give them appealing tools that increase productivity and efficiency. While I'm not a fan of Visual Studio itself, I do appreciate how Microsoft caters to developers and tries to make tools as developer friendly as possible. I prefer Eclipse to Visual Studio, but I liken that to my time at Lehigh where we learned Microsoft was the devil and you had to code in emacs to be a real programmer.
For the longest time, the only kid on the block to build Flash applications has been the Macromedia Flash IDE. While this has been a good thing for Macromedia, it has been a bad thing for developers. Macromedia does not seem to share the philosophy of providing great developer tools to bring developers to the platform. Rather, the platform itself (the Flash Player runtime) has always been attractive enough. If you wanted to build a Flash application you simply used Macromedia Flash, no questions asked.
Now, don't get me wrong here. Macromedia has a very open developer community with great people behind it. In fact, I'm not sure that I really blame them at the moment for their lack of good developer tools as Flash has historically catered to designers. Too much of the general public still associates Flash with annoying banner ads, though I see this mentality changing in the future. Rich Internet Applications have only been starting to gain steam in the past few years, so the Flash developer base is still a work in progress...
That said, tools like NeoSwiff and Xamlon Pro Flash Edition are amazing wins for the Flash developer community. Macromedia has some competition now, and it's going to have to fight to keep it's developers using ActionScript. Right now, I'd say they're behind the curve. In Visual Studio I have a much better coding experience than I do in the Flash IDE. It's not just the IDE either, but rather the assortment of complimentary tools available. How many UML programs generate ActionScript? How many generate C#? Now how about round trip engineering? Model driven architecture, anyone? These are the things that appeal to my inner Software Engineer. ActionScript doesn't even come close to C# in this respect.
At the end of the day it's the coding experience and supplemental tools that drive which product I'll use to build my Rich Internet Applications. I like NeoSwiff not because I have something to prove or because I'm angry with Macromedia, but rather because I like the plethora of tools available for the C# language itself (remember, C# != .NET, the language itself is an ECMA standard). As an aside, check out Aral's post on RIA development tools.
To be honest, that's why I wanted to help with ASDT. Since I'm using ActionScript every day and no tool out there currently meets my needs, I started using ASDT coupled with Eclipse. I event wrote an XMI to AS code generator so I can export models from ArgoUML and automate stub code creation. I then donated some spare time to help build in the features to ASDT that I wanted that weren't currently available. But then a reality check hit me - it shouldn't be the developer community's responsibility to build the tools we need, it should fall on the company that wants us to code for their platform.
I love the Flash Player.. and with NeoSwiff we're finally able to use the sophisticated tools that traditional software developers have been using for years to deploy to our beloved Flash platform. It's about time.
Macromedia, are you listening?

