Personal tools

Views

AIR:Developer FAQ

From Adobe Labs

(Redirected from Apollo:DeveloperFAQ)

Last updated: May 5, 2008

Note: this is a working document, and will be updated from time to time. If you are developing AIR applications in HTML, please see the Adobe AIR HTML Security FAQ.

Table of contents

2.1 What technologies can I leverage within an Adobe AIR application?
2.2 Can I use just HTML and JavaScript to build an Adobe AIR application?
2.3 What IDE do I use to develop Adobe AIR applications?
2.4 Will I be able to create Adobe AIR applications with Flash Authoring?
2.5 Will I be able to create Adobe AIR applications with Dreamweaver?
2.6 Will I be able to create Adobe AIR applications with Flex Builder?
2.7 Are there Flex-based sample applications available?
2.8 How will the Adobe AIR runtime be distributed?
2.9 Will developers be able to distribute the Adobe AIR installer with their applications?
2.10 How are Adobe AIR applications installed?
2.11 How do I migrate my HTML/JavaScript/Ajax application to the post AIR Beta 2 security model?
2.12 Why am I getting a "parsing disallowed" error in my HTML application?
2.13 What HTML and JavaScript engine is used within Adobe AIR?
2.14 Is this the same WebKit project that the Safari browser on Mac OS X and the KHTML Browser in KDE use?
2.15 Why did Adobe choose WebKit?
2.16 Will Adobe AIR's use of WebKit result in a new HTML engine that developers have to account for?
2.17 Does Adobe plan to submit changes back to the WebKit project?
2.18 Is this the same WebKit as the WebKit framework on Mac OS X?
2.19 Where can I find more information on WebKit
2.20 Where can I download Adobe's modifications to WebKit?
2.21 Will Adobe AIR Applications be able to communicate with other Adobe AIR applications?
2.22 Will Adobe AIR applications be able to communicate directly with databases?
2.23 Will Adobe AIR include an embedded database that applications can access?
2.24 How much control will developers/designers have over their application appearance?
2.25 Can I reuse existing Flex 2 code in an Adobe AIR application?
2.26 What are some of the APIs that Adobe AIR will expose to developers?
2.27 Will Adobe AIR applications be able to work offline?
2.28 Will developers be able to extend Adobe AIR with native code?
2.29 Will Adobe AIR applications be able to launch default applications for a file type?
2.30 Will Adobe AIR applications be able to directly launch native applications?
2.31 Does Adobe AIR provide an application update mechanism?
2.32 Is Adobe AIR an .exe /projector creator?
2.33 What security model does the Adobe AIR runtime provide?
2.34 Does the Adobe AIR runtime require administrative privileges for installation?
2.35 Do Adobe AIR applications require administrative privileges for installation?
2.36 Do Adobe AIR applications run with administrative privileges?
2.37 Can I create CD-ROM or kiosk applications that leverage Adobe AIR?
2.38 Can I customize the installer?
2.39 Will Flash version 8 and below SWF files run in Adobe AIR?
2.40 Does the Adobe AIR runtime have an expiration date or timeout?
2.41 Will Adobe AIR support h.264?

General

What is the Adobe AIR?

Adobe AIR is a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.

How is Apollo related to Adobe AIR?

Prior to the public beta, Adobe AIR was referred to by its code name of Apollo.

Is Adobe AIR available for download?

Yes. You can download the 1.0 release from the Adobe AIR download page.

How to port my applications from Beta 1 to Beta 2

Please review the Beta 1 to Beta 2 migration instructions.

How to port my applications to Beta 3

Please review the release notes for changes in Beta 3 that may require updates to your application.

What type of applications does Adobe AIR target?

Adobe AIR is targeted at allowing web developers to build and deploy desktop applications using web technologies.

What types of developers is Adobe AIR targeting?

Adobe AIR is targeted at developers who are currently leveraging web technologies such as Flash, Flex, HTML, JavaScript, and Ajax techniques to build and deploy rich Internet applications.

Is Adobe AIR free (as in beer)?

Yes. Adobe AIR will be free (similar to Flash Player and Adobe Reader).

Is the Adobe AIR SDK free (as in beer)?

Yes. The Adobe AIR SDK will be free for developers to download and use (similar to the Flex SDK).

When will Adobe AIR be released?

You can download Adobe AIR Beta 3 today from the Adobe AIR Download Page

We are currently targeting the beginning of 2008 for the release of Adobe AIR 1.0.

What platforms does Adobe AIR 1.0 target?

Adobe AIR 1.0 will be supported on Windows and OS X.

Does Adobe AIR support Linux?

We currently have a public beta version of Adobe AIR for Linux, which you can download from the Adobe AIR for Linux Labs site.

Does Adobe AIR support mobile devices?

Although Adobe AIR 1.0 will not be available on mobile devices, Adobe AIR uses technologies that run on mobile devices.

The Adobe AIR roadmap includes plans for enabling developers to deploy AIR applications using the same tools, servers, and programming models across desktop and mobile devices.

For more information on the Adobe mobile platform please refer to the | Adobe Mobile Experience Suite FAQ.

What are some of the new features included in Adobe AIR Beta 3?

The following new features were introduced in Adobe AIR Beta 3.

Finally, no API changes are expected between Adobe AIR Beta 3 and Adobe AIR 1.0.

What were some of the features included in Adobe AIR Beta 2?

In Beta 2, we are unveiling several new features:

What were some of the features included in Adobe AIR Beta 1?

Some of the features included in Adobe AIR Beta include, but are not limited to:

Is Adobe AIR a web browser?

No. Adobe AIR is a cross-operating system runtime that runs outside of the browser.

Though theoretically you could build a web browser on top of Adobe AIR, most developers are building desktop applications.

What is the size for Adobe AIR?

The current size for Adobe AIR is just over 10 megabytes. It is important to note that the runtime only needs to be downloaded once.

Development

What technologies can I leverage within an Adobe AIR application?

Adobe AIR allows applications to be built using Flash, Flex, and HTML/JavaScript or a combination of both.

Flash based applications will be able to include HTML based content and HTML based applications can contain Flash based content.

In addition, Adobe AIR applications can integrate closely with PDF documents.

Can I use just HTML and JavaScript to build an Adobe AIR application?

Yes.

What IDE do I use to develop Adobe AIR applications?

You can leverage any existing IDE that you already use for Flash, Flex, or HTML/JavaScript development such as Flex Builder, Eclipse, vim, etc. Adobe AIR does not require a specific IDE.

We will be releasing a set of command line tools for Adobe AIR that will make it easy for developers to do Adobe AIR application packaging and development via their favorite IDE or editor. You can download an Beta version of these tools in the Adobe AIR SDK.

Basically, you can use any tool that outputs SWF or HTML files.

Will I be able to create Adobe AIR applications with Flash Authoring?

Yes. The beta version of the AIR update for Flash CS3 Professional allows you to package and preview AIR applications. More information is available here: http://labs.adobe.com/wiki/index.php/AIR:Flash_CS3_Professional_Update

Will I be able to create Adobe AIR applications with Dreamweaver?

Yes. The Adobe AIR Extension for Dreamweaver Beta 3 is available for download.

Will I be able to create Adobe AIR applications with Flex Builder?

Yes. For more information, see the Develop on Adobe AIR with Flex and Flash page on Adobe Labs.

Are there Flex-based sample applications available?

Yes. See the AIR Quick Starts for Adobe Flex page for more information.

How will the Adobe AIR runtime be distributed?

Adobe AIR will be distributed in a number of ways, including but not limited to:

We are also exploring a number of other distribution methods, and are confident that we will be able to quickly get significant distribution of Adobe AIR.

Will developers be able to distribute the Adobe AIR installer with their applications?

Yes, in addition to creating and distributing cross-platform Adobe AIR application installer files, it will be possible for developers to write their own custom native installers that install Adobe AIR and the Adobe AIR application.

How are Adobe AIR applications installed?

Adobe AIR applications are installed like any other application on a user's computer. The user downloads a cross-platform installation file and double clicks it which starts the install process.

The experience for the end user depends on which operating system they are running on, as Adobe AIR will provide an installation mechanism consistent with that of the current operating system.

We are also exploring a number of other mechanisms for Adobe AIR application installations.

How do I migrate my HTML/JavaScript/Ajax application to the post AIR Beta 2 security model?

Please see the separate Adobe AIR HTML Security FAQ for more information on AIR's update HTML security model.

Why am I getting a "parsing disallowed" error in my HTML application?

Please see the Adobe AIR HTML security FAQ that explains why this error may appear.

What HTML and JavaScript engine is used within Adobe AIR?

HTML and JavaScript within Adobe AIR are handled by the WebKit HTML/JavaScript engine.

Is this the same WebKit project that the Safari browser on Mac OS X and the KHTML Browser in KDE use?

Yes.

Why did Adobe choose WebKit?

We spent a considerable amount of time researching a number of HTML rendering engines for use in Adobe AIR. We had four main criteria, all of which WebKit met:

While the final decision was difficult, we felt that WebKit is the best match for Adobe AIR at this time.

Will Adobe AIR's use of WebKit result in a new HTML engine that developers have to account for?

No. Our goal is to maintain complete compatibility with existing WebKit implementations. This will help ensure that content that runs in WebKit based browsers, such as Apple's Safari, will also run within Adobe AIR applications.

Does Adobe plan to submit changes back to the WebKit project?

Yes. Our goal is to become an active member of the WebKit community and actively submit fixes and changes to the WebKit project for consideration.

Is this the same WebKit as the WebKit framework on Mac OS X?

Not quite. The WebKit Open Source project, and the Apple WebKit Framework for Mac OS X are two different things.

Adobe AIR is using the code base directly from the WebKit project, and not from Apple's WebKit Framework.

Where can I find more information on WebKit

You can find more information on WebKit at:

Where can I download Adobe's modifications to WebKit?

You can download Adobe's changes to WebKit for Adobe AIR Alpha 1 here.

Will Adobe AIR Applications be able to communicate with other Adobe AIR applications?

Yes. Adobe AIR applications will be able to communicate with each other via the use of the LocalConnection ActionScript API.

Will Adobe AIR applications be able to communicate directly with databases?

Adobe AIR 1.0 will not have built-in support for communicating directly with databases. However, it will be possible to write database drivers in ActionScript (leveraging binary or XML sockets), which would allow Adobe AIR applications to communicate directly with a database (both local and remote).

Will Adobe AIR include an embedded database that applications can access?

Yes. The Adobe AIR beta includes the SQLite embedded database for use by Adobe AIR applications.

How much control will developers/designers have over their application appearance?

Developers and designers will have 100% control over their application's appearance.

Can I reuse existing Flex 2 code in an Adobe AIR application?

Yes. In fact, you should not need to re-write any code to have an existing Flex application run within Adobe AIR, although you may need to write additional code to take advantage of Adobe AIR specific APIs and controls.

What are some of the APIs that Adobe AIR will expose to developers?

Some of the APIs that have been publicly discussed are:

Will Adobe AIR applications be able to work offline?

Yes. Adobe AIR will provide a set of APIs to make it easy to develop connected applications that work while offline.

Will developers be able to extend Adobe AIR with native code?

No. This functionality will not be available in Adobe AIR 1.0.

Will Adobe AIR applications be able to launch default applications for a file type?

No. This feature is not planned for version 1.0.

Will Adobe AIR applications be able to directly launch native applications?

No. This functionality will not be available in Adobe AIR 1.0.

Does Adobe AIR provide an application update mechanism?

Yes. Adobe AIR will provide a mechanism to make it easy to update applications. This is currently implemented in the Adobe AIR Beta.

Is Adobe AIR an .exe /projector creator?

No. Adobe AIR is a cross-operating system runtime that runs on the user's system.

One of the advantages of this is that Adobe AIR application installation files can be much smaller, as it does not require that the entire runtime engine be distributed with each and every copy of the application.

It also allows us to integrate the technologies together (Flash, HTML, PDF) on a much lower level than may otherwise be feasible.

Finally, it allows us to provide a more standardized and consistent security model for Adobe AIR applications and users.

What security model does the Adobe AIR runtime provide?

Our goal is to provide the functionality that developers need and want, while also allowing them to create secure applications.

While we are still finalizing the security policy, at the root of any policy is the fact that Adobe AIR applications are downloaded to, installed, and run from the user's desktop. Therefore, they run in a different security context than applications that run in the browser, and will have a security model closer to that of a desktop application.

To learn more about security in AIR, please read the Adobe AIR Security White Paper (.pdf). Please note that this document will be updated over time.

Does the Adobe AIR runtime require administrative privileges for installation?

Yes. The runtime requires an administrator privileges to installed. On Windows XP the minimum requirement is for user to be a "power user".

Do Adobe AIR applications require administrative privileges for installation?

Yes. Applications require admin privileges to install just like other native desktop applications.

Do Adobe AIR applications run with administrative privileges?

Adobe AIR applications run with the privileges of the user who starts the application. When the operating system applies security restrictions to applications (such as UAC in Windows Vista) those restrictions will be enforced on Adobe AIR applications.

Can I create CD-ROM or kiosk applications that leverage Adobe AIR?

You will be able to distribute and install Adobe AIR applications via CD-ROM, although currently, we do not have plans to allow Adobe AIR 1.0 applications to run from a CD-ROM without first being installed on the user's system.

It will also be possible to create kiosk-based applications that are deployed to the Adobe AIR runtime, but again, this is not a use case driving features for Adobe AIR 1.0.

Can I customize the installer?

No. The look and feel of the installer is handled by the AIR runtime.

Will Flash version 8 and below SWF files run in Adobe AIR?

Yes. However, the Adobe AIR APIs are only exposed to Flash content via ActionScript 3 / AVM2, and thus Flash 8 / AVM1 SWFs will be able to run, but they will not have direct access to the Adobe AIR APIs.


Does the Adobe AIR runtime have an expiration date or timeout?

Adobe AIR 1.0 will not have an expiration date.

Prerelease versions of Adobe AIR do have an expiration date. The Apollo Alpha and Adobe AIR Beta 1 are no longer functional. Adobe AIR Beta 2 will not operate after June 1, 2008. The Adobe AIR Beta3 will not operate after October 1, 2008. We highly recommend that you always update your applications to the latest version of AIR.

Will Adobe AIR support h.264?

Adobe AIR Beta 3 added support for h.264.

Browser API and Seamless Install(Badge) Feature FAQ

What is the purpose of the Browser API

The new Browser API's provide a more secure way to install both the AIR runtime and applications, and the ability to detect and launch AIR applications from the web.

Why is the browser API hosted on Adobe.com?

To facilitate providing improvements in detection logic (such as providing additional OS support, fixing reported detection issues, etc) without requiring developers to modify the badges on their websites.

Does this mean that my install badge has to be hosted on Adobe.com?

No, the install badge itself is hosted on your website. However, the detection logic which is part of the browser API is hosted on Adobe.com in the form of a SWF that you include in your badge.

The developer has total control over the look and feel of the badge on their site. Our SDK includes samples such as a badge (badge.swf) and a badge.fla file that developers can tailor to suit their needs.


How do I update my existing customized badge to AIR Beta 3?

You can take your existing source badge.fla file and use the AIRBadge.as included in the AIR Beta 3 SDK and recompile your badge. The AIRBadge.as calls the hosted browser API. Please refer to the documentation for details.

How does detecting and launching an AIR application form the browser work?

AIR applications must opt-in to be detected and launched from a browser. Through the use of the browser API, a badge can detect if a specific AIR application is installed, launch it, and pass parameters to it. However, this functionality is only supported using the Flash Player 9 Update 3 (version 9.0.115) and AIR Beta 3. Pleasesee documentation for details.

Where can I see an example of a badge that demonstrates the seamless install feature?

Currently, all of the Adobe AIR sample applications demonstrate the seamless install experience. When a user clicks the Install Now button, the badge checks to see whether Adobe AIR is installed on the current machine. If Adobe AIR is not installed, it will install the runtime and then the application. If it is already installed, it will just install the application.

What changes were introduced in AIR Beta 3?

The existing badge installation flow (introduced in Beta1 and refined in Beta2) is now only supported if the end-user has Flash Player 9 Update 3 (version 9.0.115) installed. If end-users have an older Flash Player version installed, they will see an HTML message asking them to download the AIR runtime and application separately through the browser. Please see Badge Install FAQ below.

Why did Adobe make this change to the Badge install process?

This change was necessary to provide a more secure way to install both the AIR runtime and applications from the web, and provide additional features requested by developers. The new features include the ability to detect and launch AIR applications from the web through the new Browser API's.

Over time as Flash Player 9 Update 3 penetration increases the alternate flows (using HTML) will become less prevalent.

Can I customize the HTML displayed to end-users when they don't have a supported FP installed?

Yes, Developers can customize the HTML displayed to end-users. Developers have control over the look and feel and the install options they provide end-users who wish to install the AIR runtime and application. The AIR SDK includes samples that can be tailored to suit specific needs.

Can I write code to detect and ask end-users to upgrade to the latest Flash Player 9 Update 3 (version 9.0.115) from my website?

Yes, you can write additional detection code to prompt the end-user to upgrade to the latest Flash Player version. The most popular options are to use SWFObject or the Flash Player detection kit. Please refer to links below:

Flash Player Developer Center Detection and Installation Resources: http://www.adobe.com/devnet/flashplayer/detection_installation.html

Information on using SWFObject: http://www.adobe.com/devnet/flash/articles/swfobject.html

Information on using the Flash Player Detection kit: http://www.adobe.com/products/flashplayer/download/detection_kit/

Please note that upgrading Flash Player version may require browser restart for some users or prompt them to shut-down their browsers first before the installation is complete.

Are there any examples of sites or code using the AIR Badge+SWFObject+Express Install to upgrade users to the latest Flash Player First?

Yes.

Marc Hughes, Developer of the Agile Agenda application, extended the install badge sample in the AIR SDK to use SWFObject+express install. The code and the SWFObject are released under the MIT license. Link to his page: http://www.rogue-development.com/blog/2007/12/air-badge-installer-swfobject.html Link to the code: http://rogue-development.com/AgileBadgeInstaller.zip


David Tucker, wrote an article on the AIR badge and the use FP express install(SWFObject). The article is available on the Adobe Developer center.http://www.adobe.com/devnet/air/articles/air_badge_install.html

Can I use AIR Beta 2 based badges to install AIR Beta 3 and applications?

No. Adobe AIR Beta 3 provides a more secure way to initiate the installation process.As a result, the older AIR Beta 2 badges are no longer compatible with AIR Beta 3. Please update your install badge to Beta 3 now.

End-users installing AIR Beta 3 will no longer be able to install AIR applications from websites that use the older AIR Beta 2 seamless install feature (install badge).


Feedback

Where can I get help on issues related to Adobe AIR?

First, please be sure to review the Adobe Air Beta 3 release notes to determine whether the issue you're experiencing is a known one.

Next, search the Adobe AIR forum to see if your issue has already been reported. If not, try posting a new topic describing the issue that you are experiencing.

Lastly, if you want to send a bug directly to the team, please complete the Feature Request/Bug Report Form.

We cannot guarantee a personal response, but we do review bug submitted to this form.

Where can I send feature requests for Adobe AIR?

Please complete the Feature Request/Bug Report Form.

News and Information

Where can I find the latest news and information about Adobe AIR?

FAQ Information

Is this an Official FAQ?

Yes. This is an official Adobe AIR FAQ.

How can I send feedback about the FAQ

You can send feedback to Mike Chambers.

Retrieved from "http://labs.adobe.com/wiki/index.php/AIR:Developer_FAQ"