It sounds like they are trying to prevent people from writing apps that are portable to other smartphones, since the obvious way to do that would be to make an intermediary layer.
Or am I misreading this? Any iPhone experts have opinions about what this means?
I'm a developer for android and iPhone. What this is is a blatant attempt to stop people from coding once and publishing on both Android and iPhone. Currently you have to code 1x for each phone.
I am not aware of the inner workings of how the Flash Packager for iPhone works (http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/) but probably they are not translating your code from ActionScript to native C/C++ before compiling it, so probably this would affect it.
My understanding of what Adobe was doing is that they're using LLVM to output the necessary ARM binary directly, not going to C/Objective-C and then using the standard tools by Apple to make the binary. It is probably worth noting that Apple doesn't even use LLVM/Clang for the iPhone yet; you still have to use gcc-4.2 to build your app.
What I'm curious about is what Adobe is that makes binaries much larger than the size it would be if it was in ObjC. As an example, the binary for Trading Stuff (only picked on because it is free) is 14.1MB. Thats rather ridiculous; I don't think I've ever come across an app written in ObjC for the iPhone that was 1.4MB.
And looking at the reviews for Trading Stuff, it doesn't seem like the app performs very well. Of course, that could be due it being written poorly. But, my initial inclination is to think otherwise.
I'm not going to pretend to be an expert, but, my thoughts on this are that this is just another (poorly made) attempt by Apple to keep what they perceive to be inadequate applications off of their App Store. Any side effects[1] of their decision are simply added bonuses, not part of the primary reason behind it.
[1] With the most obvious side effects being not allowing a "code once, use anywhere" environment to gain popularity and being a direct shot at Adobe (CS5's release is only a few days away).
[This was all out of date information, so I removed it so as not to cause confusion.]
UPDATE:
Actually, the guys in the office just informed me that everything that used to be true is not anymore. Sorry, everything I wrote is probably wrong as of this morning it seems. Wow. Even more reason to just use Objective-C.
I agree it's a blow against Android/Java and Flash/ActionScript, but also (probably and to a lesser extent) C#/.NET, and any other cool, modern, high-productivity language like Python, Ruby, etc.
I've shipped about 9 iPhone titles over the last 2 years, and my 2 biggest gripes had become #1 the App Store submission process -- which they finally improved significantly a few months ago -- and #2 that I was forced to produce and master so much iPhone-specific code & rituals. Rather than more reuseable/leverageable technology like HTML, Python, Java, Unix tools, etc. In other words, I was becoming a share-cropper.
So they seem to have improved #1, but now much worsened #2.
Makes me more glad I've stepped away from it recently, despite my love for the device as an enduser.
Or am I misreading this? Any iPhone experts have opinions about what this means?