Flash CS5 export to iPhone: Solutions Convo

John C. Bland II

I’ve talked about this a few times but wanted to put it on “paper” to hopefully spark a convo.

Pretty much all of the interwebs have heard about Flash CS5 exporting iPhone apps. Just peep the Bing results to see how many folks have already commented. With over 245,000 search results, why make it 245,001? Well…I have some thoughts and I feel as a hardcode Flash dude it might be an interesting perspective.

Beyond just pointing out + and – points I want to offer suggestions. Everything, almost literally, I’ve seen has either been HOORAH or THIS SUCKS but not much between the fold and very little suggestions on how to convert some THIS SUCKS folks to the HOORAH side. Hopefully my perspective and suggestions will help do just that, if Adobe listens.

The Typical
Company X does Upgrade Y and the fanboys go crazy! Upgrade Y makes the haters go wild with how horrible a decisionit may be and an utter waste of time.

What’s Missing?
Solutions. The one’s who love Upgrade Y don’t offer solutions. They say “That’s tight. I’d also like Upgrade Z as well.” The one’s who hate Upgrade Y say “So stupid. You should’ve spent time doing something else. Here is why it won’t work: reason 1, 2, 3.”

Where do I stand on Flash CS5 export to iPhone?
THIS IS GREAT but ehhh. Seriously…I love the idea and it excited me when I first heard. Here are some bullet points about w/ pros and cons.

Pros:

  • This is going to do wonders for those not willing to learn an entirely new language which is a pain to get into (seriously, the syntax and approach is mind boggling at first)
  • I am of the belief there are way more Flash developers than iPhone so the app store will be flooded with tons of, potentially, great apps.
  • It’s easy.
  • 1 project on multiple devices (potentially)
  • No worries about learning new api’s

There are more but those are basic highlights.

Cons

  • Hands off. You don’t have any control over memory management in a place where knowing Objective-C is best.
  • I am of the belief there are way more Flash developers than iPhone so the app store will be flooded with tons of, potentially, crappy apps.
  • Performance sucks at the moment.
  • People will try to publish beefy apps to multiple devices (potentially).
  • When a new sdk comes out you have to wait for Adobe to provide an update for CS5 to be able to use any new features.

As you can see it is a ying and yang thing. Each pro has a matching con and each con has a matching pro. There are tons more but those are highlights and you can see the other arguments on Bing (or Google).

Solution

My biggest concern with the export to iPhone is the black box. By this I mean there is something converting your graphics/ActionScript to an iPhone app and if there is an error you can’t do anything about it. By error it could be an actual failure causing major application issues or something as simple as not releasing a variable, poor memory management.

My suggested solution is to get rid of the black box. Many people will have many different ways of doing this but I’m thinking a bit more on the simple level.

On export, do the following:

  1. Provide the App Store ready file (ipa)
  2. Provide the source code ready to open in XCode

#2 is the biggie. If I could open Flash CS5, write some ActionScript, do my thang w/ the timeline, export to XCode and take my app to the next level w/ native api’s, etc in XCode…I’d be a happy camper.

There are iPhone apps in the App Store published by Flash CS5 already. Many report them as sluggish and Adobe is aware and are addressing. If Adobe implemented the solution above, each of those sluggish apps could be improved by the developers taking the Adobe generated code and improved the performance themselves, if so desired.

I don’t know. Maybe I’m wishing for more than Adobe can offer but you have not because you ask not! ;-)

Thoughts? What could Adobe do to make this a great success?




9 Responses to “Flash CS5 export to iPhone: Solutions Convo”

  • Vivien Rizzuti Says:

    Doing some browsing and noticed your site appears a bit confusedin my K-meleon internet browser. But fortunately hardly anyone uses it any longer but you may want to look into it.

  • harrisandreson Says:

    hello to all what is the best method to solve this problem kindly answer me?and as for as i am concerned I mcts)wouldn't WANT to look at the XCode after it's been converted from AS3. I just want the compilation to be efficient enough that it's reasonable for me,What you say.

  • thienhaflash Says:

    In the code one, export multiple way, there is HAXE to come. Why don't we just learn HAXE and let go all the wars ?

    • johncblandii Says:

      Haxe seemingly had its run but never went mainstream. It could be a viable option though. The idea is not to have to learn something new but reuse your already present knowledge to go iDevice.

  • Jim Jeffers Says:

    If they could export to a usable Xcode project I think EVERYONE would like that. I'm under the assumption it exports some sort of version of the flash runtime as a wrapper component to run the apps. But really I have no idea how it works but I don't see how it could convert custom AS classes into their respective Cocoa Touch components so I'm leaning towards the notion that it's some sort of run time (air for the iPhone OS) running a flash app inside of it. I honestly have no idea. But I'm sure if it could have exported to Xcode it would be a feature already.

    • johncblandii Says:

      Actually they are taking what you do in Flash and converting it to the layer beneath XCode. I'm suggesting they not go as deep and bring up a level, or however many, and let us rock! :-)

      There was mention of Flash being bundled with the app but it was, seemingly, deemed as a slip of the tongue by Kevin Lynch. ;-) Runtimes can't run on the iPhone and Adobe knows this so I doubt they made that mistake.

  • michael Says:

    I think EVERYONE would like that. I’m under the assumption it exports some sort of version of the flash runtime as a wrapper component to run the apps. But really I have no idea how it works but I don’t see how it could convert custom AS classes into their respective Cocoa Touch components so I’m leaning towards the notion that it’s some sort of run time (air for the iPhone OS) running a flash app inside of it.

    • johncblandii Says:

      They aren't converting them to Cocoa Touch. I'm saying they should. Languages are set. If you know your starting goal and your end, you can convert from one to the other pretty easily. It would be tedious since we all right our code in different manners but the concepts would be the same: dispatching events, setting properties, and calling methods.

Leave a Reply

  • Get Adobe Flash playerPlugin by wpburn.com wordpress themes