Skip to main content
Participating Frequently
May 3, 2012
Answered

Do i use Air or Flex for iPhone and Android app development

  • May 3, 2012
  • 3 replies
  • 12004 views

Hi guys, whats the main difference between the 2 and does Air or Flex have everything Xcode does for iPhone/iPad development

I'm hearing that Flex has Android and SDK for iPhone, if this is the case why learn Xcode ?

Thanks

    This topic has been closed for replies.
    Correct answer Alex J Harui

    You can certainly create mobile apps using Flex and FlashBuilder and not need Xcode. You also have the option of using PhoneGap. Both Flex and PhoneGap provide abstraction layers for writing a single app that targets multiple devices. Those abstraction layers have some overhead and some folks simply have to write native applications.

    3 replies

    Participating Frequently
    May 6, 2012

    Phonegap is not a UI but a communications protocol between a Web View and a specific list of device APIs such as storage or the accelerometer.

    So you need to build an HTML/CSS/JS UI and/or deploy equivalent frameworks and use PhoneGap for direct access to device features not accessible in a web view.

    You need the development environment to create the app or you and use the PhoneGap build cloud service. In either case you do get an app that can be listed in stores.

    If you do not need the device apis not accessible in web view and do not need an app in a store, you can build in HTML/CSS/JS as a web mobile site and use adpative or progressive techniques to tune to orientations and device screen widths/heights.

    For animation there are a growing number of frameworks and software to export Flash like animations to HTML canvas that you can then use.

    In all cases you use a device API or APIs, regardless of the development skill, you must have a resource that is familar with the native device. Reason is that often you get strange results that seem to make sense in the code (AS or JS) but do not work. A native developer will understand the way to perform the same in the native API and will understand quicker the problem and if it is possible.

    Flex Flash to native in Flash Builder requires frequent performance testing on targed devices. If not you will find a non responsive app with the code built and a list of trouble tickets that all say non responsive or black screens that are not apparent in the development environment. This is not to say the Flash Builder to Native is a poor solution. It is to say you need to understand the environment and what it takes to assure success such as frequent device performance testing and available native resource skills to help debug. Do not go with just an AS Flex developer without that resource.

    Inspiring
    May 7, 2012

    Motion Maker is very right: you should develop with a phone in your hands, because what you see on screen may be very different, in terms of performances (not necessarily in games), from what you see on a device.

    For instance: the first time I developed an iPad application, I did 90% of the development with the simulator, only to find that state changes were mortifyingly slow on the tablet and most states had to be re-written to improve performances. I will never do that error anymore. However, Adobe states in its development videos: "never forget the importance of debugging on the device"

    As for the native versus non-native platform, I have noticed that:

    - developing in the native code of the best app store (Objective C and Apple Store) is temtping but risky. Differently from Google play, Apple Store may reject your app for no apparent reason than: there are two many apps on our store that are not very cool and yours isn't as cool as they'd want and they give you the justification 2.12. In that case, what do you do if you haven't programmed in a code that is reusable? How do you port Objective C to Java and go to Google play? If you developed with Action script, you can deploy to Google Play (Android) in literaly ONE DAY (it was my case).

    - however, Google play market (read: Android) is ages far from Apple. This is why most games are 0.79 on App store and free in Google Play.

    And, however, AIR is not supported by all Android devices; moreover, the Google play filter thing does not work properly :-( my apps aren't seen by Samsung Galaxy S II, although I stripped down all kinky permission requests. Why?

    - PhoneGap looks cool, but the idea that you don't control the executable, which is instead produced by a server-based application, is strange to me. Chances are - in my opinion - that Adobe bought it to take it out the market.

    I don't know if Flex is being dismissed by Adobe as some say. The "Design" mode is being dismissed, apparently, and in Flash CS6 there will be the possibility to export to HTML5+ JScript. However, I don't think Adobe will kill AS. If they kill Flex, who cares, but AS is enjoyed by too many developers to be given away at the moment.

    TwoHelixAuthor
    Participating Frequently
    May 17, 2012

    Allot of good info but in a nutshell what's the best to use ? i was attracted to Flex because it easy and it was coded for both iOS and android base phones.

    Alex J HaruiCorrect answer
    Adobe Employee
    May 3, 2012

    You can certainly create mobile apps using Flex and FlashBuilder and not need Xcode. You also have the option of using PhoneGap. Both Flex and PhoneGap provide abstraction layers for writing a single app that targets multiple devices. Those abstraction layers have some overhead and some folks simply have to write native applications.

    May 3, 2012

    Flex runs on the flash player and hence on the browsers so Flex is for the browsers.And as on last November adobe has

    announced that they are not going to be develop and support for the flash player on the mobile browser so you can not run any

    flex appliction on the mobile browsers.Flex is now has been donated to the Apache by the Adobe.

    While the Adobe AIR can be used for creating the native applciations for the ios and android.Intially it was only for developing the desktop based non browser applications.But currently you can also create the native application for the ios,androind and blackbarry play book.

    Shardul

    Participating Frequently
    May 3, 2012

    Technically you develop in Flex for both.  There are some differences in developing for the two different targets, but they are really pretty minor.  Targetting mobile applications is a bigger set of differences than the differences between Browser based and AIR for the desktop.

    Mark