AIR 1.0
Adobe Integrated Runtime
Cédric Tabin www.astorm.ch/blog Agenda
● What is AIR ? ● Main features ● Some examples ● Security Issues ● Where to go ● Q & A
Desktop applications
● Use-cases
O Desktop is still important
O We still use those most of times
O Some data still on Desktop
O We are not always connected
O Some of us are occasionally-connected
Desktop applications
● Current Issues
O Smart developers moved to Web
O Gap between Web and Desktop
O Development requires special skills
O Hard to update/patch
O Bandwidth costs
Target Applications for AIR
● Integrate with the desktop ● Take advantage of local resources ● Run applications in the background ● Persistent connection with the user ● Support offline and occasionally-connected use cases ● Create fully customized interfaces
What is AIR ?
● Adobe Integrated Runtime (AIR) ● Cross-operating system runtime for the desktop environment ● Supported for Windows and Mac OS X ● Currently in beta for Linux
What is AIR ?
● AIR is NOT
O A Flash projector file
O A Flash player for the desktop ● Runtime environment like Java's JVM or Microsoft's .NET framework ● Need to install the JDK before using any AIR application
What is AIR ?
What is AIR ?
Main (new) Features
● Custom Chrome ● Clipboard Access ● Native Drag & Drop ● Local File Access ● SQL Integrated ● Application Easy Update ● ...
Build AIR applications
● HTML / AJAX ● Flash ● Flex
● Plugins available on adobe.com
Some examples
Some examples
● Basic Application
O Hello AUGG!
O Play with chrome
O AIR file creation/installation/update
Some examples
● Interactive Window
O flash.display.NativeWindow
O flash.events.NativeWindowBoundsEvent
O flash.desktop.NativeApplication
Some examples
● A little bit more about native windows
O flash.display.NativeWindowType
O flash.display.NativeWindowInitOptions
Some examples
● Local File Access
O flash.filesystem.File
O flash.filesystem.FileStream
Some examples
● Native Drag & Drop
O flash.desktop.NativeDragManager
O flash.events.NativeDragEvents
O flash.desktop.Clipboard
Some examples
● SQL-engine : SQLite (www.sqlite.org)
O flash.data.SQLConnection
O flash.data.SQLStatement
O flash.data.SQLResult
Some examples
● Integrated Browser
O flash.html.HTMLLoader
O flash.display.Sprite
Some examples
● Other interesting classes
O flash.desktop.DockIcon / SystemTrayIcon
O flash.display.Screen
O flash.desktop.Updater
O flash.data.EncryptedLocalStore
O air.net.ServiceMonitor
AIR Limitations
● Limited hardware acceleration ● No access to native libraries or executables ● No USB or Serial API ● Limited support for accessibility ● Limited printing support ● Limited localization in AIR 1.0
O English only
O Japanese, German, French for AIR 1.1
Security Issues
● AIR files are NOT executables
O Easy to retrieve SWF and embedded data
O Decompilers exist (Project Tamarin) ● Sign your AIR files
● Avoid storing sensible data !!!
O Or consider the encrypted data store
Keep in mind
● Project Thermo
O Allow designers to make visual interactions
O Transforms static artworks to interactive component ● Project BlazeDS
O Connects Flex & AIR applications to an existing server logic
O High performance data transfer
O Publication of AMF3 protocol ● A lot of other AS3 APIs
O Core3lib, PureMVC, masapi, ... Where to go
● AIR Quick Start (EN) ● AIR API Reference (EN) ● Mediabox forums (FR) ● My Blog - Astorm (FR)
● References
O Abdul Qabiz – linkedin.com/in/abdulqabiz
O John Mason – labs.fusionlink.com
O Adobe Labs
Q & A
Thank you !