Adobe_AIR

Adobe AIR

Adobe AIR

Cross-platform runtime system for building rich web applications


Adobe AIR (also known as Adobe Integrated Runtime and codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

Quick Facts Original author(s), Developer(s) ...

AIR is a runtime environment that allows Adobe Animate content and ActionScript 3.0 coders to construct applications and video games that run as a stand-alone executable and behave similar to a native application on supported platforms. An HTML5 application used in a browser does not require installation, while AIR applications require installation from an installer file (Windows and OS X) or the appropriate App Store (iOS and Android). AIR applications have unrestricted access to local storage and file systems, while browser-based applications only have access to individual files selected by users.[8]

AIR internally uses a shared codebase with the Flash Player rendering engine and ActionScript 3.0 as the primary programming language. Applications must specifically be built for AIR to use additional features provided, such as multi-touch, file system integration, native client extensions, integration with Taskbar or Dock, and access to accelerometer and GPS devices.[9] HTML5 applications may run on the WebKit engine included in AIR.

Notable applications built with Adobe AIR include eBay Desktop, Pandora One desktop,[10][11] TweetDeck,[12] the former Adobe Media Player,[12] Angry Birds,[13] and Machinarium,[14] among other multimedia and task management applications.[15] According to Adobe, over 100,000 unique applications have been built on AIR, and over 1 billion installations of the same were logged from users across the world, as of May 2014.[16][17] Adobe AIR was voted as the Best Mobile Application Development product at the Consumer Electronics Show for two consecutive years (CES 2014 and CES 2015).[18][19]

In June 2019, Adobe announced it would begin transitioning ongoing support and development of Adobe AIR to Harman. Adobe will continue to provide support for versions 32 and earlier until the end of 2020, as support will be managed by Harman.[20]

Features

Using AIR, developers can access functionality including text, vector graphics, raster graphics, video, audio, camera, and microphone capability. AIR also includes additional features such as file system integration, native client extensions, desktop integration and access to connected devices. AIR enables applications to work with data in different ways, including using local files, local SQLite databases (for which AIR has built-in support), a database server, or the encrypted local store included with AIR.

Developers can access additional functionality by building AIR Native Extensions, which can access full device functionality being programmed in the native language.[21]

Desktop features

On desktop platforms, AIR supports:

  • Window management – Opening multiple windows, minimizing, maximizing and resizing AIR windows.[22]
  • Menu bar – Adding a native menu bar to AIR windows, with sub menus and custom menu items.[23]
  • File management – Discovering drives, files and folders on the PC, creating and deleting files, renaming, copying and moving files.[24]
  • Console applications – Executing native applications with command-line arguments, and receiving feedback via standard I/O & error streams.[25]
  • Multithreading – Managing multiple threads, to execute ActionScript 3 code in the background without freezing the user interface.[26]
  • Web browser – View HTML web pages with full CSS and JavaScript support within applications, with the integrated WebKit-based web browser.[27]
  • Clipboard access – Programmatically copy or paste text, bitmaps or files into the system clipboard.[28]
  • Drag-and-drop – Allows users to drag text, bitmaps or files into AIR applications.[29]

Mobile features

On mobile platforms, AIR supports many mobile hardware features:

3D graphics

In 2011, the addition of Stage3D allowed AIR apps access to GPUs for hardware acceleration. Several third-party frameworks have been developed to build upon the functionality of Stage3D, including the Starling Framework and Away3D. These frameworks are also compatible with AIR, and provide vital performance improvements to AIR apps published for mobile devices.

AIR Native Extensions

AIR apps can be augmented in functionality with the usage of AIR Native Extensions (ANEs). Native extensions are plug-in code libraries that contain native code wrapped with an ActionScript API,[34] allowing developers to access native features not otherwise usable in AIR, such as Apple Game Center or Google Cloud Messaging.

Native extensions may be developed by anyone using publicly available tools;[35] some are distributed for free or even as open source, while others are sold commercially.[36]

Native extensions may be programmed in the native language on each platform, allowing access to the full set of platform APIs provided by the developer. (C++ for Windows, Java and C++ for Android, Objective-C for iOS).[21]

Availability

AIR is a cross-platform technology and AIR applications can be repackaged with few or no changes for many popular desktop and mobile platforms. Different installation options exist for each platform.

AIR applications may be published with or without the AIR runtime. Applications packaged with the AIR runtime are larger in file size, and are known as "captive runtime" applications.[37] If the runtime is not embedded in the app, it must be installed separately.

In January 2009, Adobe claimed that there were over 100 million installations of Adobe AIR worldwide, and that "the majority of AIR runtime installations occur at the time the first AIR application is installed by a user".[38] In May 2014, Adobe claimed that over 100,000 unique applications were built on AIR, and over 1 billion installations of the same were logged from users across the world.[16][17]

Platforms

Adobe AIR, version 32, contains Adobe Flash Player 32, and is available for Windows 7 and later, as well as OS X 10.9 and later.[6] Desktop Linux distributions were available until June 2011 with version 2.6, which ended Linux support.[39]

Adobe AIR applications can be published as native phone applications on certain mobile operating systems, such as Android (ARM Cortex-A8 and above[40]) and Apple iOS.[41] In May 2017, Adobe stopped releasing AIR for Android, and the app was eventually removed from the Play Store in September 2018, but it can still be downloaded through their website.[42] After Adobe's transition of AIR to Harman, they resumed support for Android and the latest version is only available there.[3]

More information Platform, Installer file support ...

The following table explains to what extent Adobe AIR can run on various mobile operating systems:

More information Operating system, Prerequisites ...

Application development

AIR runs applications within a contained Flash Player instance. It runs web applications via WebKit rendering engine. Multiple instances of the browser can be started within a single AIR application, but JavaScript content executes with some security limitations.

AIR does not provide direct access to native GUI elements such as navigation bars or controls. Native extensions can be used to access additional native resources.

Development tools

SDK

The AIR SDK is available as a free standalone download for software developers to make AIR applications.[57] SDK users do not need to install any commercial software to use the SDK, although several options are available. AIR apps can be compiled from the command line using the AIR compiler included in the SDK; the compiler can also be called from an IDE to eliminate the need for the command line.

AIR can also be used with Adobe Flex.[58] Flex is an integrated collection of stylable graphical user interface, data manipulation and networking components, and applications built upon it are known as "Flex" applications. Flex GUIs are defined in MXML, similar to how Android and Microsoft Visual Studio define GUIs; however, Flex does not give access to native GUI components.

AIR applications built without the Flex framework allow greater flexibility and performance, and are known as "pure ActionScript" applications.[59][60][61] Video games built on the AIR platform are typically pure-Actionscript projects. Various open-source component frameworks are available for pure ActionScript projects, such as MadComponents, that provide UI Components at significantly smaller SWF file sizes.[62][63]

Software

Adobe distributes three commercial software products for developing of AIR applications in ActionScript:

Third-party development environments that target the AIR runtime are also available, including:

  • Moonshine IDE, a free IDE built with Apache Flex and Adobe Air. It can be used to create ActionScript 3, Apache Flex, Apache Royale and Feathers projects from Moonshine. It also provides cloud support.
  • FlashDevelop, an open-source Flash ActionScript IDE, which includes a debugger for AIR applications
  • Powerflasher FDT, a commercial ActionScript IDE
  • CodeDrive, an extension to Microsoft Visual Studio 2010 for ActionScript 3 development and debugging
  • IntelliJ IDEA, a commercial IDE supporting ActionScript 3 development and debugging
  • AS3 & MXML for VSCode, a powerful extension capable to turn the popular Microsoft free editor Visual Studio Code in a complete AIR IDE

Adobe Flash Builder is the premium tool for Flex application development, since it includes an integrated drag-and-drop user interface builder, not found in competing tools like FlashDevelop.[64]

JavaScript applications

Adobe provides for AIR, HTML5 and JavaScript development with Adobe Dreamweaver CS5, although any other HTML editor or text editor can be used.[65]

AIR can run a subset of JavaScript, with no ability to dynamically execute code when running in the application sandbox. According to Adobe, this restriction is designed to prevent malicious remote content from attacking a user's system.[66] Because of this restriction, JavaScript frameworks that make use of dynamic JavaScript functions like eval() were not initially compatible with AIR. However, several frameworks including Dojo Toolkit,[citation needed] jQuery,[citation needed] and ExtJS[citation needed] were updated to run in AIR's application sandbox. Some frameworks like MooTools were already compatible.[citation needed]

Dreamweaver CS4/CS3 requires an additional extension to compile AIR applications,[67] as does Flash CS3 in the form of an update.[68]


References

  1. "Adobe Partnership". Harman. Harman International. Retrieved October 29, 2020.
  2. "Harman - Adobe Partnership - HARMAN". services.harman.com. Retrieved April 10, 2020. AIR 33 is now released on a commercial basis, and supports 64-bit Android devices and the latest Play Store requirements.
  3. "End of Support Notice". BlackBerry Ltd. April 15, 2014. Retrieved April 18, 2014.
  4. "Adobe AIR and Linux: Increasing Distribution on Devices". Adobe Blog website. Adobe Inc. Retrieved June 14, 2011. We will no longer be releasing our own versions of Adobe AIR and the AIR SDK for desktop Linux, but expect that one or more of our partners will do so. The last Adobe release of AIR for desktop Linux is AIR 2.6. By focusing on the porting kit and support of partner implementations, we expect to provide broader support for AIR across Linux-based PCs and devices, whereas our own desktop Linux releases have accounted for less than 0.5% of lifetime AIR downloads.
  5. "Adobe AIR 1.1 EULA" (PDF). Adobe Systems. February 4, 2008. Retrieved March 15, 2011.
  6. "Adobe AIR: Browser vs. Desktop". Adobe Systems. Retrieved March 15, 2011.
  7. AIR app installs cross a billion, Adobe AIR and Adobe Flash Player Team Blog
  8. "The Future of Adobe AIR". Adobe Blog. May 30, 2019. Archived from the original on August 25, 2019. Retrieved August 19, 2019.
  9. Working with files, Adobe Help Center
  10. Copy and paste, Adobe Help Center
  11. Drag and drop in AIR, Adobe Help Center
  12. Touch, multitouch and gesture input, ActionScript 3.0 Developer's Guide, Adobe
  13. Accelerometer input, ActionScript 3.0 Developer’s Guide, Adobe
  14. Ludwig, Adrian (January 28, 2009). "AIR passes 100 million installations". Adobe AIR Team Blog. Adobe Systems. Archived from the original on November 22, 2018. Retrieved March 15, 2011.
  15. "Flash Player 10.1 – Installations and updates". Archived from the original on October 8, 2010. Retrieved November 19, 2010.
  16. iOS features in Adobe AIR 2.6 Archived September 25, 2012, at the Wayback Machine, Adobe Devnet
  17. "Re: Adobe air not found on google play for some android users". Adobe. September 17, 2018. Retrieved February 23, 2020.
  18. Announcing Flash Player 11 and AIR 3 Archived May 4, 2012, at the Wayback Machine, Adobe Flash Platform Blog
  19. Archived July 8, 2012, at the Wayback Machine Retrieved on September 19, 2011.
  20. Flex 4.5 vs Pure AS3 Archived October 21, 2011, at the Wayback Machine, Michael Crosby
  21. "Getting started with Adobe AIR for HTML/JavaScript developers". Adobe Systems. August 24, 2010. Retrieved March 15, 2011.
  22. "ADOBE® AIR™ 1.5 Security White Paper" (PDF). Adobe Systems. 2008. p. 6. Retrieved March 24, 2011.
  23. "Adobe - AIR: Tools for Ajax". Adobe Systems. Archived from the original on April 14, 2011. Retrieved March 15, 2011.
  24. "Adobe Flash - Downloads". Adobe Systems. November 17, 2008. Archived from the original on March 3, 2011. Retrieved March 15, 2011. Adobe AIR 1.5 Update for Flash CS4 Professional

Share this article:

This article uses material from the Wikipedia article Adobe_AIR, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.