Flash on iPhone here I come!
Wednesday, October 14, 2009 at 10:51AM Maybe not.
A friend asked me recently about what I thought of Flash CS5's ability to generate iPhone binary.
Here are my initial reactions:
1) Performance issue -- it's highly likely apps built this way will suffer performance issue, especially on iPhone 3G. Worse, there is very little you can do to tune the performance because you are dealing with another abstraction layer. The compiler technology used by the generation process (called LLVM) is not mature right now that even Apple isn't encouraging its use in iPhone development. That said, I am sure performance will improve over time and things will mature along the way -- but how long will that take? That's anyone's guess.
2) Lack of control -- There are for sure going to be a ton of limitations because you are limited by what APIs/functionalities Flash provides you with. For example, what if I want to implement a feature to be able to send mail from within my app, something very easy to do with the native SDK? Does Flash CS5 provide the API for this? What if I want to add the ability to do Push Notifications? The "lack of control" issue will only be a non-issue if Flash provides an API that completely maps to Apple's own iPhone SDK -- and I seriously doubt that will ever happen. More seriously, what if Apple provides a new set of APIs in their OS update? I would have no access to these and have to wait for the next update of Flash to provide access to them, if ever.
3) Lack of clarity of its future -- This move on Adobe's part is darn risky and involves lots of political and legal implications. Will Apple make some changes that would break apps generated this way? Does Adobe have long term commitment to this or are they just testing the water with Apple by taking a backdoor approach on this? Will Apple react positively or negatively to this whole thing? All these remain to be seen.
My sense is as with any other tool, people will come to the realization that CS5 isn't as rosy as it seems to be. If anything, they will slowly discover that CS5 is suitable for a subset of things that you want to do with iPhone development and there are lots of sacrifices that you have to put up with going this route. For me personally, I would use Flash CS5 to quickly prototype a game concept I have but would still code natively for reasons mentioned above.
Reader Comments