My company has organized new technology programming challenge where I happily decided to take my part in. The goal was to try to build simple app for now so popular Android and Apple iOS mobile devices. As there was minimal time assigned to do it at work, only one hour per week, I spend main time working on it during my free time. I have decided to use Adobe AIR technology which after all left me with really nice experience and good impression as for a technology choice.
Adobe Integrated Runtime, also known as Adobe AIR, is a cross-platform runtime environment developed by Adobe Systems for building Rich Internet Applications (RIA) using Adobe Flash, Adobe Flex, HTML, and Ajax, that can be run as desktop applications or on mobile devices. What I really liked about Adobe AIR most is that during a short time available for development I managed to build two applications, one for Android and one for iOS using the same source code for both. And also I did not have to worry about compatibility issues with specific devices as it was all sorted by the Adobe. Later this idea that one source works for all was just proved as I was testing my app on many different devices. Adobe is focused on enabling Flash developers to package native apps with Adobe AIR for all the major app stores.
As a flash developer I enjoyed developing process, because I was doing programming with the same known ActionScript 3.0 programming language on FlashDevelop IDE and sorting my graphics with Adobe Flash Professional CS5.5 tool. Most of the time I spent experimenting on various techniques to achieve better optimization, performance and compatibility on different devices. I decided not to use vector graphics and instead convert from vectors to bitmaps. Because there are so many different resolution devices on the market and I wanted to make my app to work correctly on any device, so I had chosen more complicated programming approach. When my app starts, first I rescale all sprites and movie clips according to a detected screen resolution, then convert them all to bitmapDatas and use as bitmaps. This way lets to have the best quality graphics on any resolution device. When testing my app on actual device I wanted to see my app performance statistics, so I made a little widget for displaying FPS, memory usage, stage size, detected resolution and OS, number of children, garbage memory and other useful parameters. Besides that I prevented screen from dimming and keyboard from being locked while my app is running and added a feature to save an image from my app to device’s camera roll (or media gallery). This app has been successfully tested by myself on Apple iPad2 (iOS) and HTC Flyer (Android) during development process and also tested by my colleagues on various other devices.
Dress up your own doll! First choose a body to dress. Then clothe and accessorise with things to put on its head and feet. Once you’re happy you can take a screen shot & save to your gallery!
Now when my app is finished I would like to recommend to anybody Adobe AIR as a great technology for building mobile apps which should help you cutting time and costs of development process and complexity while sorting compatibility issues with so many different devices currently in the market.