by Scott Castle
21 March 2011
Adobe AIR 2.6 not only brings the latest AIR mobile capabilities to iOS devices, along with a new graphics implementation and improved performance capabilities, but also includes important HTML rendering improvements, new desktop windowing features, and USB debugging support.
Note: For details on the changes in AIR 2.6, refer to the developer release notes.
Mobile app development is a crucial topic for all developers today, and Adobe AIR has fully embraced it. Last year, with AIR 2 and Packager for iPhone (PFI), Adobe introduced the ability to build AIR apps for iOS, followed by AIR for Android, which has brought many new mobile capabilities to the AIR runtime, including a new GPU rendering model, camera and microphone support, and access to the on-device webkit engine for rendering HTML. With AIR 2.6, Adobe brings the same features to AIR for iOS, helping creative professionals produce powerful, consistent content across platforms.
AIR Developer Tool (ADT) has replaced Packager for iPhone (PFI), and the PFI utility is now integrated into ADT. You can now use ADT to package AIR files, native desktop installers, Android applications, and iOS apps.
AIR 2.6 for iOS also gives developers access to the camera, microphone and camera roll, as well as the ability to build content rendered with the native iOS Webkit (via StageWebView). These capabilities let you build and use apps with key social and communication features and seamless integration with web content.
Finally, AIR 2.6 supports the Retina Display, allowing apps to target the increased stage size of the iPhone 4. AIR apps also support the standard iPhone screen and iPad screen and the iPad, enabling you to build content customized for each device.
Mobile device GPUs have been making great strides over the last year, and we're making sure that Flash developers are able to benefit from those gains. Back in the days of AIR 2, mobile GPUs were fairly primitive, and AIR for iOS used a technology—referred to as GPU_BLEND and built around OpenGL ES 1.1—to composite the final screen image using the GPU. This technology still relied on Flash to do most of its drawing in the CPU, but could be very efficient if you crafted your content carefully.
By AIR 2.5 for Android, graphics hardware had improved, and we took a new approach, leveraging OpenGL ES 2 to draw Flash content directly with the GPU. This implementation, referred to as GPU_VECTOR, puts more of the work of building up the actual displayed image onto the GPU, so that as the GPU hardware improves in newer devices, Flash content gets better and faster, too.
AIR 2.6 adopts the same GPU_VECTOR approach for iOS as is already used for Android, making it easy for designers and developers to build applications and content that consistently take advantage of the latest and best hardware on all platforms.
As part of supporting the latest and most powerful Flash runtime features on iOS, we have chosen to drop support for the original iPhone and the iPhone 3G, along with iPhone OS 3. AIR 2.6 supports building apps for the following iOS 4 devices:
- iPhone 3GS and iPhone 4
- iPod Touch (3rd Generation and 4th Generation)
AIR 2.6 includes a number of enhancements to both desktop and mobile platforms, including owned native windows and asynchronous decoding of bitmaps.
AIR 2.6 adds a facility for controlling the visibility, maximize/minimize behavior, and Z-order relationships of native windows, so that developers can easily build app interfaces that make use of floating palettes, displays, and toolbars. Owned native windows lets you group a set of windows together so that they collectively stay in front of (or behind) others. While this was technically achievable in earlier releases, Owned native windows makes it much easier to do this in practice, offering straightforward attributes to control window group ordering.
While mobile devices are certainly growing in both performance and capacity, content is growing too. Apps that take advantages of image thumbnails in large lists, such as image galleries or music libraries, need to load those thumbnails without stuttering. Apps that display full-screen bitmaps—magazine viewers and other interactive readers—have to decode the next "page" while showing a flip transition. Games, both simple and complex, need to constantly load new graphic assets. AIR 2.6 makes decoding and displaying bitmap resources much smoother with an asynchronous implementation that lets decoding happen in parallel to the main app.
AIR supports debugging of apps running directly on mobile devices – a debugger is launched on your workstation, and the AIR app connects back from the device via IP networking. AIR 2.6 adds support for tethered debugging over USB, which will help developers in environments where WiFi access points are unreliable or unavailable.