apache-flex - 如何将我现有的 Flex3.6 应用程序移植到移动 iO、Android 平台

标签 apache-flex air packager-for-iphone

我有一个使用 Flex 3.6 sdk 的 Flex Web 应用程序。 有哪些方法可以将此应用程序移植到 iO 和 Android 设备。

在 Flash builder 4 发布之前, 我已将 Flex 3.6 项目转换为 AIR 2.0。 (这需要很少的代码更改) 并使用一些命令行工具将其打包为.ipa和.apk。 成功部署在iPad上。应用程序按预期工作。 我只记得这些了,我完全忘记了两年前我遵循的程序。

现在,在 Flash builder 4 中,有一个选项可以创建“移动项目”,只需右键单击项目 - 导出 - 发布构建即可将应用程序导出到不同的移动平台。

但是this page告诉我们 “除了 MX 图表控件和 MX Spacer 控件之外,移动应用程序不支持 mx.* 包中定义的 MX 组件集。”

现在我真的很困惑该遵循哪种方法。

有人可以澄清一下这些吗

  1. 将 Flex3.6 Web 应用程序移植到 iO 和 Android 设备有哪些方法。
  2. 我是否需要将 Flex3.6 项目转换为 Flex 4 项目,并将所有 MX 组件更改为 Spark 组件(这需要对我的项目进行重大更改)以支持移动平台。
  3. 有没有其他方法可以通过最少的代码更改将我现有的 Flex3.6 应用程序移植到移动设备。 (我知道需要注意 UI 大小等变化)

谢谢。

最佳答案

首先,从用户体验的角度来看,我认为将 Web 应用程序重用为移动应用程序并不是一个好主意,除非界面非常简单(这不能保证是一个完整的 Flex 应用程序)首先)。

  • 屏幕尺寸差异太大,可能无法使用,或者至少不舒服
  • 您没有定义触摸交互

但要回答您的问题:移动组件是完全不同的组件集。它们更加轻量级并且针对移动交互进行了优化。为了实现这种性能提升,它们基于 Spark 架构。这意味着:

  1. 无法移植您的 Flex 3 代码
  2. 是的,您必须进行转换
  3. 我想不出任何其他方式来移植您的应用程序;最小的代码更改是不可能的

结论

事实上,从技术上来说,自动将应用程序从 Web (Flex 3) 移植到移动设备是不可能的,而且即使是这样,出于用户体验方面的考虑,也不会推荐这样做,这让我提出了这个建议:重建它从头开始,既照顾干净、优化的移动代码,又设计适合目标平台的 UI。

关于apache-flex - 如何将我现有的 Flex3.6 应用程序移植到移动 iO、Android 平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811094/

相关文章:

apache-flex - Flex 框架的替代品

apache-flex - actionscript 3/flex 中过滤的 ArrayCollection 的长度

apache-flex - 如何在mouseEvent情况下仅触发一次函数

apache-flex - 如何限制树节点从 flex 3 中的当前节点拖动?

android - [AS3][Air for Android] 获取流式麦克风输入?

c++ - 在 AIR Native Extension 中包含库会导致错误,所有方法都为 "The extension context does not have a method with the name..."

javascript - Titanium 之外的 Html5 桌面 webapp 选项

flash - 适用于 iOS 的 Adob​​e Packager : Bundling native iOS code together with Flash?