Adobe AIR Development + Profiling: using the right tools for the job
-
Upload
ain-tohvri -
Category
Presentations & Public Speaking
-
view
566 -
download
0
description
Transcript of Adobe AIR Development + Profiling: using the right tools for the job
ADOBE AIR DEVELOPMENT + PROFILING
using the right tools for the job !
Copyright © 2014 Interactive Pioneers GmbH
ABOUT ME• Ain Tohvri
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 to Vim.
• Find me on Twitter (@tekkie), Github (@ain) or at a Rösterei (café) in Hamburg, Germany. Come over for a free coffee!
TODAY’S TOPICS• 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?
FDT FLEXIBLE DEVELOPMENT TOOLKIT
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
FDT TODAY
• 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
AUTOCOMPLETION
• Ctrl + Space
• Any variables, methods, constructor
• Metadata
• Templates, e.g. rect, try, for
• Special: Cmd + 0 on a variable
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
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
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/
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