Use Flash to build native iPhone apps

Today at Adobe MAX, the company announced that Flash tools will be able to build applications for iPhone that can be distributed through Apple’s App Store. A beta version of Flash Professional CS5 with this new capability is planned for release later this year. These aren’t Flash SWF files, they’re native iPhone apps.

My first question was, “Wait–so how native are these apps? Do they feel right, or do they seem like crappy ports?” The good news is that you can judge for yourself:

As of today, participants in the Adobe pre-release program have submitted 8 applications and all of them have been accepted into the App Store. The applications are: Digg Pics, South Park Avatar Creator, Chroma Circuit, Just Letters, Trading Stuff, Red Hood, Fickleblox, and That Roach Game.

Following the announcment at MAX, additional applications have been submitted including the Acrobat Connect application.

So, what about running Flash SWF files directly on the iPhone? The iPhone SDK License does not currently allow runtimes such as Flash Player or Adobe AIR. Hopefully Apple & Adobe will be able to work together on a solution in the future.

Before I get an earful about the Flash Player’s CPU & battery usage, note that on mobile devices, “engineers have increased Flash’s operating performance by 87 percent and reduced memory consumption by 55 percent” (more info). Adobe CTO Kevin Lynch said that Flash performance on mobile was “not very good,” and that video was “more like a slideshow than a video.” He then demonstrated excellent new hardware acceleration for Flash Player 10.1 on mobile, as well as solid multitouch support.

I’m not directly involved with these efforts, so your best sources of details are likely to be Adobe evangelists like Mark Doherty, Ted Patrick, and Mike Chambers. I’ll try to share other interesting details as I come across them.

[Update: Here’s more info from Aditya Bansod and the FAQ on Adobe Labs.]

30 thoughts on “Use Flash to build native iPhone apps

  1. Hopefully those enhancements will be back ported to the desktop where it is desperately needed in anything besides Windows.

  2. adobes should work on 64 bit flash first.
    it´s a shame that there is still no 64 bit flash.
    we still have to use 32 bit IE because of that……
    [Have you actually seen benchmarks, etc. that indicate an advantage in running IE in 64-bit mode? (The numbers I see are basically identical between 32 & 64.) Or are you just making a knee-jerk assumption? –J.]

  3. “These aren’t Flash SWF files, they’re native iPhone apps.”
    Does this mean that Flash CS5 saves out iPhone apps as well as swfs… then why Flash? Why not, er, Adobe iPhone Maker? If they’re not swf, why use Flash CS5?
    [An awful lot of people know & like the Flash authoring environment. This technology gives them an immediate way to leverage their tools & skills to create for a new environment. I thought this perspective on was interesting:

    Matthew Richmond, who’s partner and Executive Creative Director of the Chopping Block, notes, “Flash — for better or for worse — is a widely accepted, relatively friendly environment for making interactive things. Xcode is for good reason a much more powerful and complex place that most Flash developers just don’t have the stomach or patience for. Today we wake up and find out that Flash Professional CS5 will be able to compile native iPhone applications, what’s not to like about that?”

    “Sure,” Richmond continues, “there is a lot of room for disaster, but there is even more room for creative folks to unleash cool ideas. It’s a smart move for Adobe, a huge win for Apple and — once the dust settles– hopefully a solid little toolkit for Flash designers & developers in the mobile space.”


  4. did i say that i want 64 bit flash because of it´s performance?
    [For what, then? Certainly it’s not because you want to devote more memory (4+ GB) to Flash. If you don’t believe IE64 will give you better performance, do you expect it to provide better security? –J.]
    the only one who does knee-jerk assumptions are YOU.
    stop making exuses and get your work done.
    [A) It’s not my work. B) I didn’t make any excuses. Your reading comprehension (and spelling) suck. –J.]
    im sure you find a excuse for the a20 gate and why it still uesfull too…..

  5. …..Your reading comprehension sucks……
    well… at least i can read and write in five languages (coding languages not count), how many languages can you write and speak?
    [That doesn’t get you off the hook for failing to read carefully. –J.]
    why i want a 64 bit browser?
    because we code 64 bit web applications etc. and we need to access 64 bit dll´s and plugins from IE.
    [Ah–so you’re running 64-bit extensions inside IE (and have a good reason for doing so)? Your desire to run IE in 64-bit mode makes sense, then. Thanks for the explanation. Now, as to why IE x64 can’t run 32-bit extensions (as Safari x64 can), you’d have to ask MSFT. The task is not trivial, but nor is it impossible. We’re having to do similar tricks to make QuickTime (32-bit only) work with Photoshop x64. –J.]

  6. Peterz, despite presenting his ideas poorly, does have a point: as more of the overall environment goes 64-bit, there are more and more pain points for 32-bit-only extensions. One as widely used as Flash should have a 64-bit build, not because we want the 4GB of memory or for performance, but to make sure that people who run 64-bit browsers for any other reason have access to it.
    You also don’t really need 4GB for Windows Explorer context menu extensions that generate thumbnails, or even for things like WinRAR — but you can’t run 32-bit extensions in 64-bit explorer.exe, so the extensions need to recompile. Same goes for IE.
    I think it’s worth noting that 64-bit Photoshop doesn’t support 32-bit plugins either. I think it’s a reasonable decision to make, in both MS’s case and yours, but punting to Microsoft in a way that makes it sound as though they “should” support 32-bit plug-ins is perhaps a tiny bit disingenuous.

  7. John, whether or not Microsoft could or should find a way to let 64 bit IE run 32 bit Flash will ultimately not matter. As everyone moves to 64 bit, you guys can come along, or perhaps be left behind?
    [I’m not arguing–in the least–that the Flash team shouldn’t deliver a 64-bit version of the plug-in. I’m simply asking people to think & speak clearly, and not to get sucked into a bunch of marketing hype. 64-bit can be a wonderful thing, but it’s important to know what it is & isn’t. –J.]

  8. (Full disclosure: I work on Appcelerator’s Titanium for the iPhone, which is a competitor, so I’m biased.)
    Interesting. Compiling instead of using a flash runtime might solve some of my grudges about Flash (Think we’ll see this in AIR?) and moots some of the issues that would plague flash in the browser (the iPhone’s event model is not keyboard+mouse, and apps directly targetting the iPhone would be aware of this). I’m curious how you intend to expose iphone-specific things, such as navigationControllers, tabControllers, etc, and the multiple views/contexts it brings. The other hurdle I foresee is integrating native buttons/table views/scroll controls, or simulating them to the point where one can’t tell the difference.
    Both of these are not as large an issue with games, since they typically have their own UI. And for a beta/first release, it’d be awfully demanding that such integration be done so early.
    But it’s a pet peeve of mine with AIR and with competing iPhone hybrid runtimes, where the native controls and conventions are ignored. When runtime’s custom controls are used, there’s often an uncanny valley ranging from uncertainty of the control’s function to simply a jarring wrongness as they ‘feel’ off. This is not an issue specific to hybrid runtimes, but by being cross platform increases the likelihood. (I’ll also note that a large portion of issues listed on fall into this category, as well as part of the Microsoft Word 6 for Mac fiasco)
    Either way, congrats.

  9. Seriously, John.
    Tell the damned Flash team to get Flash running right on OS X. Every Mac user knows what a joke your OS X port is, what a battery killer it is, and how it pegs CPU cycles.
    If the Flash team can go to this length to get on the iPhone, fergawdzsakes, they can make Flash perform decently on OS X.
    Personally, if it weren’t so pathetic you probably wouldn’t have such an acrimonious relationship to begin with.

  10. BTW, I love Lr, Ps, and PSE. FWIW. Lr 2.x blows Aperture 2’s doors off. Just hoping you can influence the other teams at Adobe.

  11. I don’t have time to find the link now, still catching up on all the MAX news, but it’s my understanding that the plan is that there will be 64-bit versions of the Flash Player for Windows, Mac and Linux when Flash Player 11 is released. However, obviously there might be a alpha/beta available before that.

  12. Yes, you are missing something. We’re not talking about Flash works as a browser plugin, nor Flash as a bytecode/just-in-time-compiled runtime. We’re talking about compiling action-script (as a language) into ARM machine code to make a native iPhone application.
    What this means while webbrowsing? Nothing. It means those already proficient in flash can make iPhone apps without needing to learn Obj-C. Ideally, you, the end user, won’t be able to tell the difference between one written in action-script and one written in Obj-C.

    “But that Adobe would go to this length suggests that they suspect that Apple will never allow the Flash runtime on the iPhone.”
    Who the heck wants a crappy runtime plugin that sucks badly(see Mac and Linux users hatred for Flash), wastes battery life in a phone when you might need it for emergencies and generally locks you in to Adobe’s crappiness(proprietary vendor lock-in)?
    Steve Jobs probably has the biggest ego on this planet, but at least he’s sparing Iphone users from the crappiness of Flash(again, see how crappy Flash is on Mac & Linux).
    Even at WWDC 2009, Apple’s Senior Vice President of Software Engineering said plugins are the number 1 cause of crashes in Safari. No prizes on guessing which one he means, it’s clearly crappy Flash. No wonder Safari 4 on Snow Leopard runs plugins in a seperate process.

  14. So are you saying that Microsoft is lagging by not rewriting mines or calculators, etc., into 64 bit? Honestly, the cheaper the memory becomes, the less of a problem it is to have both 32 and 64 bit apps running side-by-side. (Especially for apps where it makes no sense to be 64 bit).
    Application plug-ins have a much lower burden of compatibility than the OS. And remember, Microsoft argued for years that IE was integral to the OS.
    The other thing has to do with performance minimums. A browser plug in is dealing with usually small data and relatively low bandwidth and throughput. 64 bit Photoshop on multi-gigabyte images is about 3 orders of magnitude larger issue. Thus it is like comparing a squirt gun to a fire-hose; while they both spray water, the are radically different engineering problems.

  15. The answer is easy and comes from Adobe itself: being OpenGLES used as a rendering surface there is no access to UIKit nor native controls (like maps, web and so on)
    You don’t get a convert application to compile, but just an IPA file ready to be installed or submitted to AppStore for approval, there is no way to further modify the converted code or tweak it
    The target of this seems more and more the casual games market: simple, low FPS games that iPhone users have enjoyed 2 years ago.
    They are still on early early beta, so there is room for improvements between now and the time slot when it will be released, but I’m not holding my breath on this.
    Check the Circles demo here: 3.7 Megabytes application that rotates 4 color filled circles at the staggering speed of 3 frames per second…. so far for performance 🙂
    Check more on

  16. I would rather not have any Flash based apps on my iPhone, I agree somewhat with commenters above (fix Mac version first). I’d put $5 on Apple either rejecting outright or crippling them in a software update, any flash-created apps.
    [Why? If the apps suck, people won’t use them. If the dev experience and/or output are sub-par, developers will use other tools. That’s how competition in the market is supposed to work. You don’t need (or want, I’d argue) Apple to drop in like a deux ex machina, shutting down a line of development. –J.]

  17. There are already something like 80 thousand apps for the iPhone. Now it looks like that might just be the start. Creating games with Flash is an easy intuitive way for those with limited skills to create games.
    I foresee an explosion of new games for the iPhone.

  18. Do Minesweeper and Calculator have anything to do with 32-bit extensions/plugins running on 64-bit applications? If Minesweeper 8.0 includes a browser plugin or a context menu plugin, then yes, I expect Microsoft to make it 64-bit. Otherwise, it’s not relevant to what I was saying.

  19. I realized I weighed in on the 32/64-bit thing but not on the main topic, so let me just say: this is great news. Assuming CS5 can output apps that are stable and performant, this is good for Apple and the iPhone platform, good for Adobe, and good for Flash developers.

  20. You people (some of you) are so stupid. Read what they are saying. You are NOT RUNNING FLASH in an APP. you ARE compiling a IAP file.
    Third sentance IN BOLD states “These aren’t Flash SWF files, they’re native iPhone apps.”

  21. How come Adobe hasn’t released a native x64-bit Flash player to work with IE x64 under either Vista or Windows 7? (And please don’t give me the answer of “You need to use the 32-bit IE”). Thank you. Is it because Adobe is waiting on Microsoft’s to remove IE 32-bit support from their OS before Adobe makes any changes? A lot people, myself included, can’t fully explain the advantages of using a 64-bit browser vs. IE 32-bit, other than knowning that 64-bit IE it’s the default browser under Vista x64 and Windows 7 x64-bit, but can you please explain Adobe’s position on this? Thank you again.

  22. hi experts,
    I want to develop an application using Flex 3 as the Front End. My back end should be Oracle. but I don’t know the procedure to connect Flex with Oracle. Kindly help me by explaining the procedure or suggesting a good document…..or example..

Leave a Reply to jake Cancel reply

Your email address will not be published. Required fields are marked *