AIR与Flex / Web的优点/缺点

时间:2010-06-15 13:43:21

标签: flex air

我的任务是编写一个放置和连接物体的应用程序(有点像房间规划师,你可以放置家具)。我使用Flash Builder 4进行了演示,并将其作为桌面应用程序构建用于AIR。现在客户想要完整的应用程序,但他们和我不确定是继续将其构建为AIR应用程序还是使用Flex将其转换为Web应用程序。我尝试将AIR应用程序简单地转换为Web应用程序,大多数工作都有效但并非全部。然而,不起作用的东西似乎是简单的错误,而不是完全缺乏能力。

我需要的功能(建模除外)是:

  • 打印完成的图像+已放置的家具列表
  • 保存和检索已完成计划的方法
  • 将家具列表导出为Excel格式的方法
  • 处理有关不同对象的大量数据

目前只实施了打印,并且似乎也可以在网络应用中使用。

这两种方法有哪些优点/缺点?在这两种方法中,我需要的任何功能是否更糟(甚至不可能)?

编辑:谢谢大家的回答。从他们和我自己的研究中,我想出了以下内容:

网络应用

好处
  • 无障碍,无需安装软件
  • 易于更新
缺点
  • 需要Flash 10(用于保存文件)
  • 需要网络服务器来提供内容
  • 更长的开发时间(从我现在的位置开始)
  • 需要互联网连接才能正常工作
  • 大量数据传输,在慢速网络上可能会很慢

桌面AIR应用

好处
  • 开发时间略快(我现在所处的位置)
  • 无需网络服务器
  • 可在未连接互联网时使用
  • 所有数据均为本地数据,加载速度更快
缺点
  • 需要Adobe AIR运行时+程序的单独安装
  • 需要将更新分发给所有用户,并且管理员需要安装它们

4 个答案:

答案 0 :(得分:3)

这个没有一个直接的答案。需要考虑几点:

  1. 如果您想使用特定的AIR功能,如离线使用,与用户操作系统等集成,您应该使用AIR(当然)
  2. Flex应用程序更易于分发和升级,因为每个人都使用来自服务器的相同swf实例。在AIR中使用服务器后端时,在升级应用程序时应注意可能的向后兼容性问题。

答案 1 :(得分:1)

存在很多差异,但从广义上讲,您必须考虑的唯一考虑因素是:

  1. 是否需要在网上?
  2. 是否需要文件系统访问权。
  3. 如果(1)则使用常规Flash。如果(2)则使用AIR。

答案 2 :(得分:1)

查看flash 10 FileReference您可以让用户轻松地将结果保存到本地文件系统。我用它来创建PDF并让用户保存它以进行打印。

对于PDF方面,我使用了Alive PDF

protected function PrintCard(event:MouseEvent):void
{
    //ShowHideBorders();
    var printPDF:PDF = new  PDF( Orientation.LANDSCAPE, Unit.MM, Size.LETTER );
    printPDF.setDisplayMode( Display.FULL_WIDTH, Layout.SINGLE_PAGE );
    printPDF.addPage();
    printPDF.addImage(CardPanel);
    var fileRef:FileReference = new FileReference();
    fileRef.save(printPDF.save(Method.LOCAL), "card.pdf");  // Sends the file to the USER

    //ShowHideBorders();    
}

答案 3 :(得分:1)

最大的缺点是与更新模型有关 - 您需要成为超级用户才能更新空中应用程序 - 特别是在企业中,AIR应用程序的用户无权更新它。如果您的应用程序在浏览器中运行,则您没有此问题。

除此之外,我认为没有任何不利之处。