denniss
denniss

Reputation: 17629

downside of using flex to create iphone/android app

So I know that adobe (or someone else) now provides a way to port your flex app to iphone. This seems to be a good solution when you want to create a multi-platform app that you can port to 3 top mobile OS. I am just wondering however. What are the downside? I am sure that doing it in flex is not as performant as doing it in obj-c or java. But how bad can it get? Are there other downside of doing it in Flex? (vs obj-c for iphone/java for android and bb)

Upvotes: 2

Views: 977

Answers (2)

tousdan
tousdan

Reputation: 196

You will surely have to fine tune your flex application to each platform if you want good performance.

You have to weight what is more important to you; going with flex will enable me to do one application and be able to use it on 3 platforms, meaning fast prototyping on all platforms but it might cause some headaches or do you want to write your application for each platform, making it more performant, robust and will be able to use platform specific features to your advantage?

You can start by doing a working prototype in flex, test it on the different platforms and eventually, if/as need be, build a platform specific along the way.

Upvotes: 0

JeffryHouser
JeffryHouser

Reputation: 39408

What are the downside?

Here are a few considerations:

Performance is one consideration. It seems unlikely that Flash / AIR will ever run as as performant as an optimized Native application. That last part is not unique to mobile, though. The lower level you go, the better performance you can get. C will run better than ActionScript. Assembly code will run better than C. Machine code will run better than Assembly.

No Access to native APIs is another one. In-app billing and contacts are two common requests I see. AIR 3 has introduced Native Extensions as a way to combat this. However, to create a native extension you're going to have to write native code and compile it in a special way to expose it to the AIR runtime. It is possible, over time, that a bunch of people creative Native Extensions that you'll be able to use so you don't have to do the dirty work yourself.

The dependency on an external runtime is another limiting factor for some. What if the user has an old version of AIR and has issues installing your app? In AIR 3, Adobe introduced something called Captive Runtime to combat this. It bundles the runtime as part of the app. It adds about 8MB to the size of the app, but removes the external dependency. Captive Runtime is the only way to deploy to iOS.

Those are the primary limitations I see. I think building with Flex/Flash brings a lot of benefits, but biggest being the ability to deploy easily to multiple platforms. If you're already knowledgeable about Flash/AS3; building Mobile Apps with that seems like a logical choice.

Upvotes: 4

Related Questions