”Adobe AIR Development + Profiling: using the right tools for the job” talk slides for Hawaii Flash User Group, 30.05.2014; Freunde der Medien Hamburg 13.06.2014.
Overview of the recent FDT (Flexible Development Toolkit) features, e.g. AutoComplete, QuickFixes, Launchers, Profiles. Overview of FDT Memory Profiler for resolving memory leaks in Adobe AIR applications.
2. ABOUT ME
• AinTohvri
Sr. Software Engineer at Interactive Pioneers GmbH.
• Flash Platform developer since 1999 (Flash 4), inmate of the Poweflasher
unit (FDT) since 2010.
• Doing ActionScript, Node.js, PHP, Ruby. DevOps.
• Using tooling from Eclipse to Netbeans toVim.
• Find me onTwitter (@tekkie), Github (@ain) or at a Rösterei (café) in
Hamburg, Germany. Come over for a free coffee!
3. TODAY’STOPICS
• FDT introduction
• FDT Coding Comfort.Advanced autocomplete and QuickFix features.
• How AutoCompletion speeds you up
• How QuickFixes make your refactoring a joy
• Adobe AIR development + FDT
• New launchers and profiles: cutting a lot of your legacy ANT spaghetti
• Compiler constants
• Deploying the application from FDT Profile
• Command line capabilities for Continuous Integration
• FDT Profiler
• My Adobe AIR app is leaking.What do I do?
5. FDT HISTORY
• Started as an internal tool at Powerflasher in 2005 with first public release in 2006
• Motivation: convert professional software developers over to Flash Platform
• FDT aimed at the coding comfort from the beginning, trying to match JDT:
• Live parser
• Live code completion
• Live error highlighting
6. FDTTODAY
• 9 227 classes
• 14 QuickFix proposal processors for nearly 150 scenarios
• 17 AutoCompletion proposal processors for nearly 200 scenarios
• 13 Warning and error marker processors for nearly 250 scenarios
• Full support for Adobe AIR on iOS,Android, BlackBerry, Desktop
• Support for Haxe, Maven,ANT, FlexUnit, FlexJS (in beta), Command Line
7. AUTOCOMPLETION
• Ctrl + Space
• Any variables, methods, constructor
• Metadata
• Templates, e.g. rect, try, for
• Special: Cmd + 0 on a variable
8. QUICKFIXES
• Cmd + 1
Ctrl + 1
• To private field, local variable, constant; to existing field
• Extract to constant, method; surround
• Attribute keywords
• Type resolve (with overlap prevention going at a package)
• All parameters to new fields
• Function signature
9. LAUNCHERS AND PROFILES
• Profile holds your AIR app descriptor
• ANT can be completely avoided in most scenarios
• Deploy with a single click from the Profile, Profile has to
be bound to Launcher
• FDT 5 Launchers will have to be upgraded
10. COMMAND LINE
• Integration to Continuous Integration
• FDT runs the launcher, compiles it, exits automatically
• Command: open -W -a ~/Applications/FDT.app --
args -fdt-launch [your project] -fdt-cmd-log
~/Downloads/fdt.log
• More: http://fdt.powerflasher.com/2014/05/fdt-command-line-handling/
11. PROFILER
• Start with Profile Configuration pointing to your launcher
• Choose between Memory or Performance profiling
• http://fdt.powerflasher.com/docs/Intro_To_Profiling_Applications
for an example
• Alter draw_circles() of the Main class to create a
memory leak