androidairnativeapplication

Native Android Development Or Adobe AIR?


What are the benefits and disadvantages of using android AIR instead of Android native application?


Solution

  • Native UI Controls

    When using Adobe AIR you cannot mix Android UI Controls with AIR views. Your only choice is starting android native activity or place android native view container on top of AIR view. But AIR must always be at the bottom.

    Android API Access

    There are many native Android APIs that been implemented in Adobe AIR, how ever many haven't been. To use Android API that is not supported in AIR you must write a native extension, and if you wish to see use it in desktop-debug, you must write an extension for desktop as well. Writing extensions is easy if you familiar with the native code, how ever compiling them could be a nightmare as there is no easy tool for that.

    Performance

    It's hard to say where the performance is better. If you are using native air VS any native Android Application than probably native Android will be faster. How ever if you use Stage-3D(well implemented in Starling API), than Air will be faster than any native Android application that does not use OpenGL ES, in case of OpenGL, I think the performance is parity much the same. One exception will be Android NDK, how ever this is not exactly native, and I am not sure if you can or cannot implement it in Adobe AIR.

    Cross Platform

    When working for cross platform, Adobe AIR can save you tons of time, your code may not be the same on all of the platforms but it defiantly will have a lots of shared libraries. Native Android application is not giving you anything in this case.

    *inspired by old article about this topic from 2010.