【问题标题】:Flash Builder: Mobile AS3 Project or Mobile Flex Project?Flash Builder:移动 AS3 项目还是移动 Flex 项目?
【发布时间】:2012-05-08 00:01:06
【问题描述】:

这个月我开始玩 Flash Builder,因为我没有 Mac 来创建原生 iPhone 应用程序。

我制作了一个 Flex Mobile 项目和一个 AS3 Mobile 项目。两者几乎完全相同,我发现运行速度有很大差异(AS3 版本要快得多)。另外,当我部署项目时,AS3 版本的大小小于 Flex 版本的大小。

但有一点让我失望,部署的 AS3 应用程序 (Android) 的大小仍然约为 8MB。我认为这对于一个简单的应用程序来说是相当大的,还是正常的?我没有测试 iOS 版本,因为我不是 Apple Developer 会员(部署带有假证书的 iOS 应用程序有什么技巧吗)?

我在应用中使用过的资源:

  • 大约两张图片。 35kb 大小
  • StageWebView

我想知道:

  • 作为原生应用(apk 文件)的简单应用的平均大小是多少?
  • 除了重复使用的库之外,AS3 应用和 Flex 应用有什么区别?
  • AS3 应用程序是否转换为 C 或其他语言?
  • 为什么 apk 如此庞大 (IMO)?
  • 部署带有假证书的 iOS 应用程序是否有技巧? (仅用于测试)

感谢您的回答。

【问题讨论】:

    标签: actionscript-3 flash apache-flex mobile


    【解决方案1】:
    • 作为原生应用(apk 文件)的简单应用的平均大小是多少?

    我不知道。当您比较尺寸时;您是否导出了发布版本或调试版本?我的应用程序的完整版;使用 Captive Runtime 为 12MB。这包括所有嵌入的图像。我认为大约 8MB 是嵌入式运行时的大小。当然,如果您不使用 Captive Runtime,那么应用程序会更小;但它会依赖于安装运行时的用户。

    • 除了使用的库之外,AS3 应用和 Flex 应用有什么区别?

    出于所有意图和目的,什么都没有。 Flex 框架将需要执行代码来设置框架等。从理论上讲,这种“影响”会被框架带来的价值所抵消。

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

    不适用于 Android 或 Playbook。它依赖于 Mobile AIR 运行时——我假设它是以某种方式编写为本机应用程序。对于 iOS,发生了更深入的转换;但没有人知道确切的魔法酱;但它的过程比 Android 或 Playbook 更密集,人们认为您的代码和 AIR 运行时以某种方式转换为 Objective C 而不违反 Apple 许可协议。

    • 为什么 apk 如此庞大 (IMO)?

    Huge 可以解释。没有看到您的完整应用程序代码;很难判断。

    • 部署带有假证书的 iOS 应用程序是否有技巧? (仅用于测试)

    我不这么认为;尽管在未锁定的设备上可能存在这种可能性。

    【讨论】:

    • 感谢您的“甜蜜”回答。 “甜蜜”是指我感谢您的回答和信息。有趣的是,与 iOS 相比,android 版本存在差异。可能跟java有关,AS3跟java有点像?
    【解决方案2】:

    如果您希望应用程序更小并且您的 GUI 主要包含矢量图形,您想使用 Mobile AS3 Project,如果您更喜欢使用与 Flex 框架一起提供的标准 GUI 控件,但会增加大小开销,则使用 Mobile Flex Project,因为附带的控件。

    关于其他问题:

    • 应用程序的大小在移动平台上有所不同。典型的 iOS 应用程序大约为 2MB - 20MB。这实际上取决于您使用应用程序存储的资源。对您来说重要的是不要在不需要时克服 20MB,因为 20MB 以上的应用程序需要下载 Wi-Fi 连接。 (但是您应该只导出 www.Flextras.com 提到的 release 构建版本)
    • AS3 和 Flex 应用程序之间没有根本区别 - 它们都编译为在目标移动平台上执行的相同指令。
    • 据我所知(我自己是 iOS 开发人员)没有解决方法来部署 iOS 应用程序。您需要使用 Mac 并成为 Apple Developer 才能使用有效证书进行部署。
    • 要使您的应用程序更小,请尝试特别注意您添加到项目中的资源。尽管我相信由于框架本身的原因,尺寸如此之大,但在使用 Flash/Flex 编译应用程序时,您希望使用更多矢量图形而不是位图。

    【讨论】:

    • 我很确定您只需要一台 Mac 即可上传到应用商店。其他一切都可以在 Windows 上完成,并且有很多关于此类事情的教程。
    • 感谢您的“甜蜜”回答。但是,即使您使用 webview 显示一些内容,8MB 似乎也没有那么糟糕。由于 Apple 的政策(以及 WebView 的使用),我想知道它是否可以通过测试成为“本机”应用程序。我不喜欢需要成为 Apple 开发人员才能为 iDevices 制作应用程序的想法。我已经将自己注册为 Apple Developer,但被他们想要的信息所困。我是一家初创公司,只想在确定的情况下注册(因为涉及的成本)。关于图形:它们非常小。
    • 感谢您的“甜蜜”回答。 “甜蜜”的意思是我很欣赏你的回答。我比较了生产的SWF,AS3要小得多。我已经知道它没有转换为本机代码,您仍然需要 flex 框架,它包含在 apk 文件中。您知道 apk 文件是 zip 文件吗?
    • 不客气。是的,APK 文件是基于 JAR 文件格式的 zip 格式包。如果您有更多关于 Flash/Flex 的问题或见解,请与我联系。
    • 如果这篇文章回答了你的问题,请选择它作为答案
    【解决方案3】:

    当您为 Android 导出时,您可以选择在应用程序中嵌入 air 框架,这样您的用户就不必下载 air。您可以在没有 air embed 的情况下导出应用程序,这将导致应用程序更轻巧,但是您的用户将需要下载 air runtime。 http://cookbooks.adobe.com/post_How_do_I_create_an_AIR_application_for_Android_tha-19299.html

    【讨论】:

    • 啊,谢谢。但我不认为这是一个选择(我认为这并不聪明)。
    猜你喜欢
    • 2011-10-07
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多