Adobe AIR

From Wikipedia, the free encyclopedia
  (Redirected from Adobe Integrated Runtime)
Jump to: navigation, search
Adobe AIR
Developer(s) Adobe Systems
Initial release February 25, 2008; 6 years ago (2008-02-25)
Stable release 15.0.0.356 (October 27, 2014; 58 days ago (2014-10-27)) [±]
Development status Active
Operating system Microsoft Windows
OS X
Android[1]
iOS[2]
BlackBerry Tablet OS
BlackBerry 10 (Discontinued since OS 10.3.1)[3]
Linux (Discontinued since v2.6)[4]
Platform IA-32, x64, ARM and MIPS
Available in English
Type Runtime environment
License Proprietary[5]
Website www.adobe.com/products/air/

Adobe Integrated Runtime, also known as Adobe AIR, is a cross-platform runtime system developed by Adobe Systems for building desktop applications and mobile applications, programmed using Adobe Flash, ActionScript and optionally Apache Flex. The runtime supports installable applications on Windows, OS X and mobile operating systems like Android, iOS and BlackBerry Tablet OS. It also originally ran on Linux, but support was discontinued as of version 2.6 in 2011.

Notable applications built with Adobe AIR include eBay Desktop[6] TweetDeck,[7] Adobe Media Player,[7] Angry Birds,[8] Machinarium,[9] among other multimedia and task management applications.[10]

According to Adobe, over 100,000 unique applications were built on AIR, and over 1 billion installations of the same were logged from users across the world, as of May 2014.[11][12]

Overview[edit]

Adobe AIR is a runtime environment that allows Adobe Flash, ActionScript, or HTML5 and JavaScript code to construct applications and video games that run outside a web browser, and behave like a native application on supported platforms. An application developed for Flash Player or HTML5 and deployed in a browser does not require installation, while AIR applications require that users install the application 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.[13]

Adobe AIR internally uses Adobe Flash as the rendering engine, and ActionScript 3 as the primary programming language. Flash applications must specifically be built for the Adobe AIR runtime in order to use additional features provided, such as file system integration, native client extensions, greater control over screen, integration with Taskbar or Dock, and access to accelerometer and GPS devices.[14] HTML5 applications may run on the WebKit engine included in AIR.

Features[edit]

Using AIR, developers can access the full Adobe Flash functionality, including text, vector graphics, raster graphics, video, audio, camera and microphone capability. Adobe 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.[15]

Desktop features[edit]

On desktop platforms, AIR supports:

  • Window management – Opening multiple windows, minimizing, maximizing and resizing AIR windows.[16]
  • Menu bar – Adding a native menu bar to AIR windows, with sub menus and custom menu items.[17]
  • File management – Discovering drives, files and folders on the PC, creating and deleting files, renaming, copying and moving files.[18]
  • Console applications – Executing native applications with command-line arguments, and receiving feedback via standard I/O & error streams.[19]
  • Multithreading – Managing multiple threads, to execute ActionScript 3 code in the background without freezing the user interface.[20]
  • Web browser – View HTML web pages with full CSS and JavaScript support within Flash applications, with the integrated WebKit-based web browser.[21]

Mobile features[edit]

On mobile platforms, AIR supports many mobile hardware features, including hardware-accelerated graphics rendering, touch-screen gestures, camera and microphone, accelerometer and networking with HTTP, TCP and UDP protocols. AIR Gamepad allows mobile applications to serve as secondary displays and controllers for Flash games.[22]

3D Graphics[edit]

In 2011, the addition of Stage3D to the Flash Player allowed Flash and 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[edit]

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,[23] 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;[24] some are distributed for free or even as open source, while others are sold commercially.[25]

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 for Android, Objective C for iOS).[15]

Availability[edit]

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.[26] 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".[27] 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.[28][29]

Desktop platforms[edit]

The latest version of Adobe AIR, version 3, contains Adobe Flash Player 11, and is available for Windows XP and later, as well as OS X.[30] Official support for desktop Linux distributions ceased in June 2011 with version 2.6.[31]

Adobe AIR is installed with Adobe Reader 9 (released in July, 2008), Adobe Photoshop and Adobe Lightroom, with no option for exclusion.[32]

Platform Installer file support App Store support
Windows .air, .exe and .msi[26][33] None
OS X .air and .dmg[33] None
Android .apk[34] Google Play [34]
iOS .ipa[35] iTunes Store[35]
PlayBook .bar[36] BlackBerry App World[36]

Mobile platforms[edit]

Adobe AIR applications can be published as native phone applications on certain mobile operating systems, such as Android (ARM Cortex-A8 and above[37]) and Apple iOS.[30]

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

Operating System Prerequisites Latest Adobe Flash Player AIR Framework
Android Android 2.3+, ARM Cortex-A8+ [38] AIR 3.6.0.597 (uses Flash Player 11.6)[39] Option 1: The AIR player can be embedded as a 'captive' runtime, which increases APK size but makes the application standalone.[40]

Option 2: The runtime is not included with the app, and must installed as a separate app from the app market.[41]

Apple iOS iOS 4.3 or later AIR 3.6.0.597 (uses Flash Player 11.6)[39] Not applicable: each app includes its own 'captive' runtime.[42]
BlackBerry Tablet OS None AIR 3.1 (uses Flash Player 11.1)[43][44] Already pre-installed on each device.[42]
BlackBerry 10 None AIR 3.5 (uses Flash Player 11.1) Already pre-installed on each device.

Application development[edit]

Adobe AIR runs Flash 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[edit]

SDKs[edit]

The AIR SDK is available as a free standalone download for software developers to make AIR applications.[45] 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 obviate the need for the command line.

AIR can also be used with Adobe Flex.[46] 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.[47][48][49][50] 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.[51][52]

Software[edit]

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:

  • FlashDevelop, an open-source Flash ActionScript IDE, which includes a debugger for AIR applications
  • FDT by PowerFlasher Solutions, a commercial ActionScript IDE
  • CodeDrive, an extension to Microsoft Visual Studio 2010 for ActionScript 3 development and debugging

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.[53]

JavaScript applications[edit]

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

Adobe 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.[55] Because of this restriction, JavaScript frameworks that make use of dynamic JavaScript functions like eval() were not initially compatible with Adobe AIR. However, several frameworks including Dojo Toolkit,[citation needed] jQuery,[citation needed] and ExtJS[citation needed] were updated to run in Adobe AIR's application sandbox. Some frameworks like MooTools were already compatible.[citation needed]

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

Release history[edit]

References[edit]

  1. ^ "Adobe AIR for Android". 
  2. ^ "Adobe AIR for iOS". 
  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. ^ Top 10 Apps Worth Installing Adobe AIR For, LifeHacker
  7. ^ a b 10 impressive Adobe AIR apps, CNET
  8. ^ Flash Games Showcased at Adobe MAX- Rovio’s Angry Birds & Epic Games, Adobe Digital Media Blog
  9. ^ Adobe AIR showcase apps for mobile developers, Adobe Developer Connection
  10. ^ 60+ Useful Adobe AIR Applications You Should Know, HongKiat.com
  11. ^ AIR app installs cross a billion, Adobe AIR and Adobe Flash Player Team Blog
  12. ^ 1 Billion AIR Installations, Ben Forta
  13. ^ "Adobe AIR: Browser vs. Desktop". Adobe Systems. Retrieved March 15, 2011. 
  14. ^ Adobe AIR 3, Adobe
  15. ^ a b Using native extensions for Adobe AIR, Adobe Help Center
  16. ^ Basics of native windows in AIR, Adobe Help Center
  17. ^ Creating native menus (AIR), Adobe Help Center
  18. ^ Working with files, Adobe Help Center
  19. ^ Communicating with native processes in AIR, Adobe Help Center
  20. ^ Using workers for concurrency, Adobe Help Center
  21. ^ Creating your first HTML-based AIR application with the AIR SDK, Adobe Help Center
  22. ^ http://www.adobe.com/devnet/air/articles/android-air-devices-as-gamepads.html
  23. ^ Native extensions for Adobe AIR, AIR Devnet
  24. ^ help.adobe.com/en_US/air/extensions/air_extensions.pdf
  25. ^ http://www.adobe.com/devnet/air/native-extensions-for-air.html?PID=3662453
  26. ^ a b Generating a Windows installer for your AIR captive runtime application, Adobe Developer Connection
  27. ^ Ludwig, Adrian (January 28, 2009). "AIR passes 100 million installations". Adobe AIR Team Blog. Adobe Systems. Retrieved March 15, 2011. 
  28. ^ AIR app installs cross a billion, Adobe AIR and Adobe Flash Player Team Blog
  29. ^ 1 Billion AIR Installations, Ben Forta
  30. ^ a b iOS features in Adobe AIR 2.6, Adobe Devnet
  31. ^ http://helpx.adobe.com/air/kb/install-air-2-64-bit.html
  32. ^ Gottwals, Steve (June 27, 2008). "Adobe Reader 9 is Here!". Adobe Reader Blog. Adobe Systems. Retrieved March 15, 2011. 
  33. ^ a b Packaging a desktop native installer, Adobe Help Center
  34. ^ a b Using Flash Builder 4.5 to package applications for Google Android devices, Adobe Developer Connection
  35. ^ a b Using Flash Builder 4.5 to package applications for Apple iOS devices, Adobe Developer Connection
  36. ^ a b Using Flash Builder 4.5 to package applications for BlackBerry Tablet OS devices, Adobe Developer Connection
  37. ^ "Flash Player 10.1 – Installations and updates". Archived from the original on October 8, 2010. Retrieved November 19, 2010. 
  38. ^ https://www.adobe.com/in/products/air/tech-specs.html
  39. ^ a b http://helpx.adobe.com/flash-player/release-note/fp_116_air_36_release_notes.html
  40. ^ http://stackoverflow.com/questions/9176680/install-air-application-in-android-without-adobe-air
  41. ^ http://forums.adobe.com/thread/848409
  42. ^ a b http://forums.adobe.com/docs/DOC-1322
  43. ^ Announcing Flash Player 11 and AIR 3, Adobe Flash Platform Blog
  44. ^ https://www.adobe.com/flashplatform/certified_devices/tablets.html Retrieved on September 19, 2011.
  45. ^ Adobe AIR SDK Download Page, Adobe.com
  46. ^ Adobe Flex SDK Download Page, Adobe.com
  47. ^ Optimizing performance of applications for connected TVs, Adobe Developer Connection
  48. ^ Top 10 Performance Killers in your AIR Application, FlexWiz
  49. ^ Creating a Pure ActionScript Project in Maia, JetBrains IntelliJ IDEA Blog
  50. ^ Flex versus ActionScript – the debate gets new life, Greg's Ramblings
  51. ^ Pure ActionScript + MadComponents vs. Flash Builder 4.5, MobileAppDev
  52. ^ Flex 4.5 vs Pure AS3, Michael Crosby
  53. ^ Creating an application user interface, Adobe Developer Connection
  54. ^ "Getting started with Adobe AIR for HTML/JavaScript developers". Adobe Systems. August 24, 2010. Retrieved March 15, 2011. 
  55. ^ "ADOBE® AIR™ 1.5 Security White Paper" (PDF). Adobe Systems. 2008. p. 6. Retrieved March 24, 2011. 
  56. ^ "Adobe - AIR: Tools for Ajax". Adobe Systems. Archived from the original on April 14, 2011. Retrieved March 15, 2011. 
  57. ^ "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 
  58. ^ "Adobe AIR 1.1 FAQ" (PDF). Adobe Systems. June 16, 2008. Retrieved March 15, 2011. 
  59. ^ "Adobe release AIR for Linux". Heinz Heise. December 18, 2008. Retrieved March 15, 2011. 
  60. ^ "AIR for Linux:Release Notes". Adobe Systems. March 31, 2008. Archived from the original on May 27, 2008. Retrieved March 15, 2011. 
  61. ^ Hu, Michael (October 24, 2010). "Adobe AIR 2.5 is Now Available!". Adobe AIR Team Blog. Adobe Systems. Retrieved March 15, 2011. 
  62. ^ "Adobe AIR Team Blog". Adobe Systems. Archived from the original on May 13, 2011. Retrieved April 20, 2011. 
  63. ^ "Adobe AIR Team Blog". Adobe Systems. Retrieved April 20, 2011. 
  64. ^ "Adobe AIR Team Blog". Adobe Systems. Retrieved June 14, 2011. 
  65. ^ "Adobe AIR Team Blog". Adobe Systems. Retrieved June 14, 2011. 
  66. ^ "Adobe AIR Team Blog". Adobe Systems. Retrieved October 4, 2011. 
  67. ^ "Adobe AIR 3 Features". Adobe Systems Incorporated. Retrieved October 4, 2011. 
  68. ^ a b c d e f g h i j k l "Flash Player and Adobe AIR feature list". Adobe Systems. Retrieved November 13, 2012. 
  69. ^ "Jones Beta Release Notes". Retrieved January 10, 2014. 
  70. ^ http://helpx.adobe.com/flash-player/release-note/fp_15_air_15_release_notes.html#new_features

External links[edit]