【问题标题】:Adobe Flash BuilderAdobe Flash 生成器
【发布时间】:2014-04-13 04:22:31
【问题描述】:
有什么方法可以采用,使用 Flash Builder 创建跨平台响应式移动应用程序?
我们现在正在为此目的使用我们的自定义编写的 Resigning Engine,但我们倾向于用任何通用的 Resigning 工具替换它或满足对所有类型的设备/平台的响应能力。
在同一个跨平台开发,即Flex、Action Script和MXML,有什么解决办法吗?
谢谢
【问题讨论】:
标签:
actionscript-3
flash
apache-flex
mxml
【解决方案2】:
您绝对可以使用 Adobe Air、Flex、AS3、MXML 开发 Android 和 iOS 应用程序,并将它们发布到 Apple App Store 和 Google Play Store。但仅限于这些平台,Adobe 不太可能在此列表中添加任何新平台。
优点:
它真的是跨平台的。一旦您的应用程序在其中一个上运行,就很容易让它在另一个上运行;所以开发成本相比原生应用要低很多;
您可能有一些特定于操作系统的功能/设计;通过示例使用特定于操作系统的 CSS 指令;
您完全可以创建一个响应式设计的应用程序,提供所有工具,但就像 HTML/CSS 一样,它需要大量工作;
您可以使用Adobe Native Extensions访问所有手机功能(传感器、摄像头等)
缺点:
生成的应用程序的大小:因为它包括 AIR 运行时,所以即使是非常简单的应用程序也将重约 12 Mb(运行时为 9 + Flex 为 2.5);
性能正确,但不如原生应用;原因之一是 Flex 不允许使用 GPU 进行渲染(但 Flex 不是创建游戏的框架);
让应用看起来像原生应用的成本很高,因为您必须模仿所有原生组件。有一个项目可以做到这一点(Eskimo),但它看起来已经死了,并且当他们停止开发时,组件还没有打磨到无法在生产中使用;
Adobe Native Extensions 提供的功能相当有限,而且编写起来也很棘手; (这些缺点并不严重:您可以编写扩展,假设您知道编写本机代码;并且大多数常用功能都可用作 ANE);
与任何其他跨平台技术一样,您无法自行解决一些问题;当编译器或 AIR 运行时出现问题时,您可以等待 Adobe 修复它们;希望他们在移动设备上推出 AIR 后遵循 3 个月的发布周期;
它仅在 Android 2.3+ 设备上运行;并且仅匹配为 AIR 运行时定义的the minimal requirements 的设备;也就是说,大部分智能手机和平板电脑,除了像中兴产品这样便宜的。当 adobe 认为设备功能不够强大时,商店中不会显示基于 AIR 的应用程序。
一些建议:
组织代码的最佳方式是为每个操作系统创建一个项目,其中包含特定资产(示例图标)和特定清单文件 (app.xml),并将所有应用程序代码放在一个这两个项目使用的库。它将允许您测试您的代码(Flex 移动项目不能进行单元测试),并且会避免您对清单进行永久性修改。
Worflow:为 Android 开发通常更快,然后为 iOS 调整您的应用程序,因为在 Android 设备上部署和测试更快(尽管您可能大部分时间使用 Adobe 模拟器)。
使用最新版本的 Apache Flex;它处理高分辨率设备。忘记 Adobe 的版本(4.7 及更低版本)
在移动设备上快速且频繁地进行测试,尤其是在响应方面。
尽可能使用 FXG 而不是位图图形(即,如果它们没有动画);它更轻,也很容易扩展。
疯狂的组件
或者,您可以考虑使用 Mad Components 代替 Flex。
Flex 最初并不是为移动设备设计的; MC是。所以它更快(看起来像原生),而且更轻(尽管您仍然需要重量为 9 Mb 的嵌入式 AIR 运行时)。