Download - Adobe AIR Development + Profiling: using the right tools for the job

Transcript
Page 1: 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

Page 2: Adobe AIR Development + Profiling: using the right tools for the job

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!

Page 3: Adobe AIR Development + Profiling: using the right tools for the job

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?

Page 4: Adobe AIR Development + Profiling: using the right tools for the job

FDT FLEXIBLE DEVELOPMENT TOOLKIT

Page 5: Adobe AIR Development + Profiling: using the right tools for the job

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

Page 6: Adobe AIR Development + Profiling: using the right tools for the job

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

Page 7: Adobe AIR Development + Profiling: using the right tools for the job

AUTOCOMPLETION

• Ctrl + Space

• Any variables, methods, constructor

• Metadata

• Templates, e.g. rect, try, for

• Special: Cmd + 0 on a variable

Page 8: Adobe AIR Development + Profiling: using the right tools for the job

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

Page 9: Adobe AIR Development + Profiling: using the right tools for the job

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

Page 10: Adobe AIR Development + Profiling: using the right tools for the job

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/

Page 11: Adobe AIR Development + Profiling: using the right tools for the job

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