<<

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- 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 !