Adobe AIR - Still a great solution (sometimes)
June 07, 2016

Adobe AIR - Still a great solution (sometimes)

Thomas Gorence | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User

Overall Satisfaction with Adobe AIR

I've used Adobe AIR to create hybrid/cross-platform apps and games that needed to run on Android, iOS, and desktop/kiosk devices. Using AIR allowed our team to stay within the Adobe suite (Illustrator, Flash, Photoshop), and also provided an easy way to build for multiple platforms with a single code base. This addresses the business problem of managing multiple versions of the same project, and helps keep assets standardized (due to integration with Adobe Creative Suite/Cloud).
  • Smooth transition from Flash/Actionscript 3, and ability to port older Flash projects to AIR with little to no code changes.
  • Ability to integrate custom and third party native extensions (ANE files) provides access to hardware and other APIs otherwise only exposed via native java/obj-c/swift.
  • Ability to code and test within a single IDE (Flash / Flash Builder / Flash Develop) makes it extremely easy to set up a project and development environment. The ability to use the Flash timeline is a huge advantage when doing animation.
  • The abundance of AS3/Flash examples and tutorials online provide a vast resource compared to other hybrid solutions.
  • Over the course of months/years, various security exploits and other issues are discovered and patched in AIR, often requiring you to rebuild and resubmit mobile apps to the various storefronts. This happens often enough that it's worth mentioning as a major con.
  • While development on Adobe AIR seems to be fairly constant, there is very little communication between the community and Adobe regarding the future and general support of AIR. The track record of Flash (and particularly Flash Mobile) does not inspire much confidence that Adobe intends to support Flash/AIR for years to come.
  • Adobe AIR does not seem to perform as well (in terms of raw performance, memory usage, framerates, responsiveness, etc.) as other hybrid solutions for certain tasks. For example using shaders tends to be experimental still, and graphic/animation intensive projects often require the use of third party frameworks such as Starling.
  • Using Adobe AIR allows your team to be comprised of Flash/ActionScript 3 developers, which can be easy/cheap to find compared to other disciplines (based on location). This can lower the bottom-line in terms of engineering costs.
  • As the Adobe AIR SDK is free to use, the cost of entry is basically free. Additionally, the Adobe AIR SDK may be used in conjunction with a free IDE, such as FlashDevelop, making the entire stack completely free to use.
  • One negative impact is the stigma against Adobe Flash/AIR. Due to Adobe's less than stellar track record (in terms of support and security) with both Flash and Flash Mobile, there are numerous clients that we've dealt with, that refused to approve Adobe AIR as a tool.
  • Cordova, PhoneGap, Unreal Engine and Unity
Since Adobe AIR can be used with the Flash IDE, there are not many other solutions with such a robust toolset. The ability to import layered photoshop files directly onto the stage, and then ability to animate and create movieclips within that IDE is an extremely valuable resource. Not many other solutions offer this. The closest competitor would be Unity3D, however animating within Unity is vastly different.

Compared to PhoneGap/Cordova, the pricing and build process is very similar, however since PhoneGap/Cordova rely on browser rendering (like webkit), the types of UI possible can be limited, and performance lacking compared to AIR.

The biggest comparison is when developing graphic/animation intense programs and apps. For these, Unity3D and Unreal tend to be a much better solution.
A specific scenario where Adobe air would be a good candidate, is a project that requires the same experience to be delivered via mobile, desktop/kiosk, and browser (via flash). And one in which the assets are all created using Adobe software (photoshop, illustrator, etc.)

A scenario where AIR is less appropriate would be a performance-intensive app/game, and especially any type of project that includes 3D assets. While there are 3D frameworks for Adobe AIR, there are many other solutions that would be much better suited for that task (like Unity or Unreal Engine for example).

Using Adobe AIR

Although Adobe AIR is just an SDK without an actual "UI" it's commonly used within Flash, Flash Builder, or FlashDevelop. Considering the integration with Flash IDE, there are very few tools that can compete with its features.
ProsCons
Like to use
Relatively simple
Easy to use
Technical support not required
Quick to learn
Feel confident using
Familiar
None
  • Creating and testing a project locally, within an IDE is usually very easy and straightforward. The simulators can be customized to represent various devices as well.
  • Compiling for different platforms is extremely easy, once properly configured.
  • Using the Adobe Flash IDE, creating timeline based animations couldn't be simpler. This is perhaps the biggest advantage to using AIR (paired with the Flash IDE)
  • Initial configuration of mobile builds can be very cumbersome, and often seem improperly/undocumented. The configuration is done via an XML file, however the schema and settings of that file are somewhat inconsistent between versions.