There’s a lot of buzz in the Flash community today following Adobe’s big announcement at Max Keynote regarding their new up and coming Flash CS5 publish to iPhone feature.

In future versions of Flash, Flash Builder and ActionScript 3  you will be able to write Flash Applications that you can deploy to the iPhone as native iPhone Apps via a new Flash to iPhone compiler that the Adobe engineers have written.

Flash Developers will still need to apply/register and pay to become Apple iPhone Developers like all the other 1000s of iPhone Devs. They will also need to go through the same slow submission process.

What’s important to clarify is that NO, we still don’t have Flash Player on the iPhone. So websites containing Flash content will still not display in Safari on iPhone. This is really the missing feature that the iPhone would benefit from. This is the feature that Apple ultimately hold the key to as they build and own Safari, the default native web browser on iPhone. One alternative Adobe may have considered would have been to develop their own web browser iPhone App (including Flash Player) as earlier this year Apple has approved a bunch of web browser apps that compete with Safari and are available now in the App Store.

So, Apple won’t play ball with Adobe and won’t permit the Flash Player Plugin on iPhone. The main reason for this is that Flash Player is a memory hog and Flash Player in Safari would probably just lead to endless Safari crashes.

Contrary to this, however, in other Adobe news today Flash Player 10.1 was released. 10.1 is a major Flash Player upgrade and the biggest changes appear to be all the support added for Mobile Platforms (apart from the iPhone). Kevin Lynch, Adobe CTO, highlighted the major performance improvements introduced in the latest release of the Flash Player. He displayed test result figures that showed a number of popular Flash and Flex Applications running 100%+ more efficiently in Flash Player 10.1. This, without any changes to the Flash Applications themselves. Perhaps Adobe took note of Joa Ebert’s Leaving the Sandbox presentation at Flash on the Beach this year when he criticized the Adobe compiler and it’s optimization flaws.

With Adobe making big optimization changes to the Flash Player (and the compiler?) these are welcomed enhancements from a Flash Developer’s perspective. AS3 was such an improvement from an OOP coder’s standpoint but garbage collection was (and still is) pretty lousy. It’s very easy to create bloated SWFs – much easier than it ever was with AS2 or AS1. I guess that following all the new Flash Player features Adobe have introduced over the last 3 or 4 years the optimization fell behind on the priority list. My guess is that with Apple not permitting Flash Player on the iPhone this has helped to encourage Adobe to add these new optimizations to FP 10.1 and merge mobile and desktop versions of the Flash Player in this latest version of the player. I reckon Flash Player in Safari is not too far off with these improvements. Fingers crossed…

So, I’m a Flash / Flex Developer and have written native Objective-C applications for the iPhone. I’ve also presented my experiences of iPhone Development from a Flash Developer’s perspective at the Flash on the Beach ’09 Elevator Pitch. Will I now move to developing iPhone Apps using Flash? Well, probably not as I like the UI components that are included in the iPhone SDK as do the majority of the millions of exisiting Phone owers. Yep, that’s right – you develop iPhone Apps in Flash and you ain’t gonna get access to all the existing iPhone SDK components built by Apple. It’s the same problem as you may have experienced if you try to develop an iPhone App using existing technologies that compile to iPhone friendly binaries such as Unity 3D.

Personally, I just wish Flash Developers would get a bit more adventurous and try other programming languages rather then nagging Adobe to play middle man. Please Adobe, compile my dodgy ActionScript into Objective-C!

Objective-C is really not that hard folks, go on and take the plunge!



4 Comments

  1. Iain

    It’s another option basically. And for small games and silly promo apps, it’s a great idea. Unity is still the best 3D option. If you want to use all the native stuff but don’t like obj-c, you can now use C# with the amazing Monotouch – http://monotouch.net/

  2. Mario Gonzalez

    The monotouch SDK cost $1,000.00 USD. To hate objective-c THAT much that you’d pay a grand not to use it? That’s rediculous.

    I would say just learn objective-c, make the jump learning is good!
    Look into cocos2d, a weekend with that and you’ll be making stuff in no time 🙂

    http://onedayitwillmake.com
    http://littlephysics.com

  3. Guilhem

    Hello Nick

    Great post about your views on native Obj-C vs AS3/Flash development for iPhone

    When you say:
    > Please Adobe, compile my dodgy ActionScript into Objective-C!

    We actually have something for you : our ELIPS Studio 3 plugin for Flex Builder (see http://developer,openplug.com) does compile AS3 to native code and we have implemented AS3 APIs that extend Flex components to expose the iPhone’s native widgets

    Ain’t that cool ?

    And by the way it supports other mobile platforms following the same principle: Symbian, Windows Mobile and soon Android

  4. Houssam

    Thought it woduln’t to give it a shot. I was right.


Leave a reply