Catching up with AIR Mobile

Been so busy lately that I didn’t post anything in the last 3 months. Well, usually more work for me means less posts. Hopefully this one fills in the gap.

I’ve been developing mobile apps with Adobe AIR for over a year now,  and this is becoming one of the fastest growing technologies around (next to Unity3D ). After Adobe pulled out of Flex we saw an exodus of talented developers towards JS and the community was shrinking, but now Adobe doubled down on updating the Flash Player 11 and AIR with a new version coming every 3 months, and I see the community growing again. Than means better support and more help for small developers and a sure sign of a healthy platform.

On the business side, there is a shift from the web/Facebook platform into mobile, particularly in games.

AIR for mobile devices, primarily iOS and Android, is now the de-facto leading cross platform solution. With the current AIR 3.4, and the upcoming 3.5 offers solid and mature development environment with a complete set of extensions and tools to go with it. Since a solid tool-chain and debug/deploy tools are a major concern for me, this is a clear advantage. The introduction of AIR native extensions (ANEs) with more 3rd party extensions being offered,  helped seal the deal.

To get a glimpse of the setup of a real project, here is a rundown of what I am using for my current mobile project.

Frameworks: Starling

Since GPU accelerated Stage3D came to AIR mobile,  2D frameworks became a must. I had to choose between Starling and ND2D. I started with Starling, due to the large community and the frequent updates. Also, Starling comes with a built in UI framework, Feathers, that comes in handy when basic components are needed. Likes: familiar display object classes and great performance.  Dislikes: mediocre animation support – i.e. the starling MovieClip is nearly as bad as the original one, so I had to  roll my own.

ND2D is considered by many developers to be a better framework than Starling, but  had recently suffered the loss of its author, Lars Gerckens, who moved to code in native iOS.  Hopefully it would be picked up by others, otherwise it will die or be replaced by an alternate framework.

IDE: Flash Builder

Flash Builder 4.7 and Flash Develop are both going strong. FB had its share or problems in the past, but with Flex out of the picture it is now a fast and  decent IDE, almost on par with Visual Studio. I also use GIT exclusively for source control, so no need for those pesky SVN plugins.

Content Tools

Other than Flash CS, the use of sprite sheets and bitmap fonts in mobile apps require more targeted tool-chain. TexturePacker is my tool of choice for creating sprite sheets. For Bitmap font generation I use GlyphDesigner (Mac only) .

Extensions

I use a set of 3rd party native extensions for my mobile games projects, some are free and others cost a small fee.

  • Push notifications: this no longer requires an extension, as it is part of AIR since 3.4. Check out the tutorial here.
  • Ad service:  Chartboost, with the AirChartboost ANE.
  • Analytics: Flurry with Flurry ANE from lancelotmobile.com and StickSports.
  • In App Purchases: StoreKit form Milkman Games.
  • Game Center: either the paid by Milkman Games or the free ANE from StickSports.
I’d love to hear about your experience with other useful extensions.