Developing Android applications with Flex

I am lucky enough to have a Nexus One (my first smartphone). That means that I can experiment with Flex on touch phones.

I will provide more details as I continue to experiment. I had a quick go at producing a hello world solution. Well, that was a conference name badge ("hello my name is") but you get the idea.

Open Plug Elips

OpenPlug Elips has been available for some weeks now, at least in private beta at OpenPlug Elips. You can register to be part of the beta program. Free for now. They say that they will keep a free version in the future, either with some form of in app mention of OpenPlug either with limited platforms to target.

First impressions. Good product for a beta. Development is super easy. Loading the app on the device requires a bit of geekiness (command line) but it doesn't take more than 30 minutes to figure it all out. Two worries.

One is that the application takes a bit of time to load. The file was 13MB for a very simple one screen app. No code. Only containers and labels. The app was a bit slow to load as a consequence.

Another is that they are defining their own branching of Flex. The full Flex SDK is not supported. You are particularly limited when it comes to containers. BorderStyle cannot be defined. CornerRadius cannot be defined. The best strategy is to use images only for interface elements. This is the approach that Elips takes in pretty much all of their examples.

They already support FlashBuilder 4 but not yet Flex 4. On the plus side, Elips also allows you to develop for the iPhone. Not clear it really fits under the new terms of the license but Elips apps are made of C++ compiled with the iPhone SDK compiler. Full details on the openplug developer blog (you may have to register to access the developer section)

AIR for Android

AIR for Android is available on the Adobe Labs. I only tried the Flash Plugin so far but it fully deliver on its promises of getting your first application running on the device within 10 minutes. Best of it, you can define your settings so that when you hit publish, the app is not only pushed on the device (no need to use the command line) but also launched. This has the potential to really speed up debugging time. Sure Device Central helps you do some of it. But it is still difficult to properly test interfaces that rely on touch based interaction without finger touch.

An inconvenient, though. What is being published is not a native Android app. It is an AIR app that requires the user to have installed (or to agree to install) the AIR player, like they would on the desktop. That's a 20.9MB application on a device where space can be sparse.