SourceMate 1.1 for Adobe’s Flash Builder 4 Released
SourceMate is a companion tool for Flash and Flex developers that adds support for code generation, refactoring, code templates, metadata tags and more. Release 1.1 features improvements like customization of the code that SourceMate generates and improved stack traces.
InfoQ had a Q&A with Chris Gross from ElementRiver about this latest release.
InfoQ: What are the main features of SourceMate and what value does it bring to developers that are already using Flash Builder?
Chris: SourceMate adds a huge amount of time saving features to Flash Builder including code snippets, code generation, refactoring and more. Flash Builder is a great IDE, but developers who are used to the fantastic Java IDE's on the market like Eclipse and IntelliJ, usually find that they're missing a few features they're used to. For example, developers expect an advanced getter/setter feature, the ability to use TODO comment tags in their code, code templates (sometimes called snippets), and certainly refactoring options. SourceMate adds all this and more, fully integrated into Flash Builder.
Code generation is one of our most popular features. Our "Override/Implement Methods" feature allows developers to browse through a tree of subclasses and choose methods from those subclasses they'd like to override. Then SourceMate inserts the function signature into their file. Our "Generate Getter/Setters" feature is similar to the standard feature found in Flash Builder 4 but with many more options. Specifically, we allow multiple sets of getters and setters to be generated at once as well as advanced [Bindable] support.
Refactoring is another hot feature. SourceMate provides many advanced refactoring features including Extract Variable, Extract Constant, Extract Method, Extract Interface, Convert Local to Field, Change Method Signature, and Disable trace() Statements. Users get excited by the Disable trace() feature that allows them to remove (or comment out) all calls to trace() in their code in one shot.
This is just a taste of all the features in SourceMate. Our website contains a screenshot gallery and slew of demo videos (http://www.elementriver.com/sourcemate/screenshots-demos/). Check those out or just go right and download SourceMate and start the free 30 day trial (http://www.elementriver.com/sourcemate/download-installation/).
InfoQ: What's new in the latest version?
Chris: SourceMate v1.1 is focused on customization of the code that SourceMate generates. With 1.1, users can customize the code style of the generated method signatures (for example, put the open bracket on the same line or next line). We also found time to add a few new features. With 1.1, when an application prints a stack trace to the Flash Builder console, SourceMate will scan the stack trace for file/line number references and turn those into hyperlinks. Clicking on the hyperlink will navigate you directly into the offending code. Version 1.1 also integrates with Potomac - our open source Flex framework for enterprise applications.
InfoQ: Could you tell us a little bit about the integration between SourceMate and the Potomac framework? How well does SourceMate work with other frameworks?
Chris: The integration between SourceMate and Potomac is provided via metadata code hinting. One of SourceMate's many features is providing code hints (i.e. content assist) for standard Flex metadata tags like [Embed] or [Bindable]. Many Flex frameworks now use custom metadata tags much like the modern Java frameworks use annotations. Our Potomac framework uses metadata tags extensively. In fact, Potomac uses metadata tags for its entire extension point mechanism. Developers can define their own extension points and that in turn creates a new custom metadata tag. With SourceMate 1.1, we provide code hinting for all these metadata tags, their attributes, and values.
The metadata code hinting isn't just limited to our Potomac framework. SourceMate includes an option to allow users to import and export metadata tag configuration files (even in version 1.0). Most of the top Flex frameworks like Swiz and Spring Actionscript provide a custom SourceMate metadata configuration file to their users. Once a user just imports that file into SourceMate, they get metadata code hinting (and validation) on those framework tags as well.
InfoQ: Going beyond version 1.1 what other features would you like to see in SourceMate? What other features would you also like to see in the Flash platform?
Chris: We're evaluating many features for SourceMate 2.0 including quick fixes, externalizing strings for i18n, and much more. And of course you can expect the list of refactoring options to continue to grow.
We're obviously big fans of the Flash platform and we believe the recent release of Flash Player 10.1 is helping to push Flash into the hands of more and more developers. I'd like to see a continued focus on performance (both runtime performance and compiler performance). I'm also chomping at the bit to see the changes for Flex to support mobile platforms (specifically Android). I'm very excited by the potential of Flex applications on Andriod phones.
You can find more information about SourceMate and the rest of the Flex ecosystem in our article: "Virtual Panel: State of the Art in Enterprise Flex Framework".
Adobe Flash Platform Summit 2010