2 Replies Latest reply on Oct 2, 2013 10:46 AM by Wingnow

    What is the future of Adobe AIR for mobile


      What is the future product plans for Adobe AIR for desktop and especially mobile for app development (not just games)?  Is HTML5 my only choice for the future?  Can Adobe Flash/AIR/AS3 be a part of the HTML5 standards (build it in)?  Much better then JavaScript and the 100 or so frameworks competing to manage objects on the screen.

        • 1. Re: What is the future of Adobe AIR for mobile

          I personally don't recommend HTML5 for native mobile or desktop app product solution. HTML5 is web standarad, which is quite capable to replace Flash Player in web browsers, but it cannot replace AIR, it's not suitable for native app development.


          For mobile native app development (not game), I recommend Apache Flex 4.10 SDK + AIR 3.8 SDK (or newer versions), cuz since AIR 3.8 if you set renderMode to direct, Flex app will perform very well on mobile devices.


          Here is the post I wrote earlier about it:

          http://apache-flex-development.2333347.n4.nabble.com/Greate-News-Flex-4-10-with-AIR-3-8-ru nning-very-smooth-on-iOS-and-Mac-OS-when-quot-renderMode-quot-s-td75.html


          Although Flex 4.10 still has bugs over some mobile components, the core spark architecture is mature and efficient. And these bugs are being fixed by Apache Flex Community.


          Components that I don't recommend use for mobile app are: Spark List and everything extends it.

          Reason: when used in mobile, scrolling contents performs bad, cuz it frequently recycles unseen itemRenderer instances, and frequently renders new itemRenderer instances, which is bad for old single core mobile ARM CPUs like iPhone 4.


          To solve this problem, I've written my own List and ItemRenderer, built it from the ground up, and they performs very smooth!


          Components that you need to use with cautions: ViewNavigator and View.

          Reason: ViewNavigator by default creates new instance of every view it pushes, and re-renders every View instance, which results in bad performance. Although View MXML has a property named "destructionPolicy", which can be set to "never" to prevent from destroying the view instance, it still has a bug, it only works on ViewNavigator.popView() not works on ViewNavigator.pushView().


          Components I recommend use for mobile app are:

          SkinnableComponent, Scroller, DataGroup, Group, Skin, Button, FXG etc...


          It's best that you write your own custom components, which extend SkinnableComponent, declare your skinparts, skinstates, and design your own MXML skin for it.


          It's very safe and efficient to use MXML for skinning, it performs very well on mobile devices now. You don't have to write your skin using pure ActionScript (which is very painful and low efficiency).

          The data binding, advanced skin state and transitions can all be done in MXML, which is pretty awesome.


          I think Flex is rising again, for I've already use it for crossplatform app development solution for my products, I've test it on the iPhone, iPad, Retina MacBook Pro, Android phones, it performs very well.





          • 2. Re: What is the future of Adobe AIR for mobile
            Wingnow Level 1

            If I understand correctly, HTML5 app cannot be upload on iOS App Store unless the app used the "hybrid approach (native + HTML5)".

            Another problem is, HTML5 need to make use of Javascript to develop an application. However, Js is not a very decent language for developing application.


            People just keep saying how good HTML5 is, but in fact it is still like a baby when compared with functoinarity of Flex. Most of them saying that becoz they know nothing but Steve said it is good.


            There is a time that some ppl claims Youtube will stop using Flash and video will be played with HTML5. But today, it is still rely on Flash. Time always tell the truth.