1
votes

This month I started to play with Flash Builder because I don't have a mac to create native iPhone apps.

I have made a Flex Mobile Project and an AS3 Mobile project. Both do mostly exact the same and I see great differences in operation speed (AS3 version is much faster). Also the size of the AS3 version is less than the size of the Flex version when I deploy the project.

But one thing disappoints me, the size of a deployed AS3 app (Android) is still about 8MB. I think that is quite huge for a simple app, or is it normal? I did not test the iOS version because I am not an Apple Developer member (is there a trick to deploy an iOS app with fake certificates)?

Resources I have used in the apps:

  • Two images approx. 35kb in size
  • A StageWebView

I want to know:

  • What is the average size of a simple app when it is a native app (apk file)?
  • What is the difference between an AS3 app and a Flex app except the libraries that re used?
  • Is the AS3 app converted to C or another language?
  • Why is the apk so huge (IMO)?
  • Is there a trick to deploy an iOS app with fake certificates? (just for testing)

Thanks for the answer(s).

3

3 Answers

0
votes

You would like to use Mobile AS3 Project if you want you apps to be smaller and your GUI mainly contains vector graphics and Mobile Flex Project if you prefer to use standart GUI Controls that comes together with Flex framework but adds overhead in size because of controls that come with it.

As of the other questions:

  • the size of the apps is different on mobile platforms. Typical iOS app is about 2MB - 20MB. It really depends on resources you store with your app. What might be important to you is not to overcome 20MB if not needed because 20MB+ apps require Wi-Fi connection to be downloaded. (However you should export release build version only as mentioned by www.Flextras.com)
  • there is no fundamental difference between AS3 and Flex apps - they both compile to the same instructions that executes on targeted mobile platform.
  • as far as I know (being iOS developer myself) there is no workaround to deploy an iOS apps. You need to use Mac and become Apple Developer to deploy with valid certificate.
  • to make your app smaller try to pai special attention to the resources you add to the project. Although I believe the size is so big because of framework itself, you would like to use more vector graphics vs. bitmaps when compiling apps with Flash/Flex.
1
votes
  • What is the average size of a simple app when it is native app (apk file)?

I have no idea. When you were comparing sizes; did you export a release build or a debug version? The full version of my app; using Captive Runtime is 12MB. That includes all the embedded images. I thought that roughly 8MB is the size of the embedded runtime. Of course, if you don't use Captive Runtime then the app will be smaller; but it will have a depency on the user having the runtime installed.

  • What is the difference between an AS3 app and a Flex app except the libraries that are used?

For all intents and purposes nothing. The Flex Framework will need to execute code to setup the framework and such. In theory this 'impact' is offset by the value that the framework brings.

- Is the AS3 app converted to C or other language?

Not for Android or Playbook. It relies on the Mobile AIR Runtime--which I assume is written as a native app somehow. For iOS there is a more in depth conversion taking place; but no on knows the exact magic sauce; but it the process is much more intensive than Android or Playbook and people believe that your code and the AIR Runtime is converted to Objective C somehow in a way that is not in violation of the Apple licensing agreement.

  • Why is the apk so huge (IMO)?

Huge is open to interpretation. Without seeing your full app code; it's tough to judge.

  • Is there a trick to deploy an iOS app with fake certificates? (just for testing)

I don't think so; although there may be possibilities on unlocked devices.

0
votes

When you export for Android you have an option of embedding the air framework in the application, that way your users don't have to download air. you can export your application without air embed which will result in a much lighter application, however your users will need to download air runtime. http://cookbooks.adobe.com/post_How_do_I_create_an_AIR_application_for_Android_tha-19299.html