Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mobile Haxe、as3hx、NME、ApacheFlexJS——将Flash Builder Flex项目转换为HTML5+;Js_Mobile_Flash Builder_Haxe_Nme_Flexjs - Fatal编程技术网

Mobile Haxe、as3hx、NME、ApacheFlexJS——将Flash Builder Flex项目转换为HTML5+;Js

Mobile Haxe、as3hx、NME、ApacheFlexJS——将Flash Builder Flex项目转换为HTML5+;Js,mobile,flash-builder,haxe,nme,flexjs,Mobile,Flash Builder,Haxe,Nme,Flexjs,过去曾使用Flash Builder 4.6创建一些移动应用程序。创建的应用程序仅在高端手机上运行良好,但运行速度也比本地应用程序慢。尤其是当应用程序“启动”时,应用程序完全加载需要一段时间。我知道为什么速度较慢,因为AIR是一个额外的应用程序层,可以将其转换为本机 让我告诉你我的观点。我知道开发非本机软件比开发本机软件慢。在某些情况下,您需要本机(用于速度、图形等),但大多数情况下,本机并不重要(不需要软件的所有部分直接使用硬件)。我想要实现的是通过一次开发来降低开发成本,并能够将其移植到多个

过去曾使用Flash Builder 4.6创建一些移动应用程序。创建的应用程序仅在高端手机上运行良好,但运行速度也比本地应用程序慢。尤其是当应用程序“启动”时,应用程序完全加载需要一段时间。我知道为什么速度较慢,因为AIR是一个额外的应用程序层,可以将其转换为本机

让我告诉你我的观点。我知道开发非本机软件比开发本机软件慢。在某些情况下,您需要本机(用于速度、图形等),但大多数情况下,本机并不重要(不需要软件的所有部分直接使用硬件)。我想要实现的是通过一次开发来降低开发成本,并能够将其移植到多个平台(如果需要)。我理解为什么会有这么多语言,我认为这只是因为他们喜欢这种语言,因为它是新的,所以想要带来新的东西,或者将开发人员绑定到特定的平台(商业原因)。事实上,硬件的类型或运行方式没有太多差异,所以为什么要在“新”事物上投资,而它却没有带来什么新东西呢。我想开发持久的代码,而不是绑定到平台炒作或趋势。例如,当您投资为特定平台(比如Windows Mobile)编写代码时,您的代码现在就毫无用处了。特别是在移动世界,情况可能会迅速变化

不管怎样,最近我发现了Haxe的存在,不知道它的存在。听起来很有希望,使用一种语言(就像)并将其移植到另一种语言。一件非常有趣的事情是,可以将其移植到Javascript中,并将其与phonegap结合使用,以创建移动应用程序,或者在不需要flash的情况下在网站上使用它,或者将其嵌入到名为Neko的VM的可执行文件中。 他们声称它生成的代码比原始的Adobe框架更快。我可以想象它会更快,因为Haxe的所有元素都在快速燃烧

然后我发现了NME(也不知道它的存在),它似乎是基于Haxe和Neko,为不同的平台创建移动应用程序,包括Javascript和HTML5。这让我想到将flex项目移植到NME,以摆脱AdobeAIR的需求,并可能更快地执行,并用相同的代码获得更多的可能性

然后我找到了as3hx和ApacheFlexJS(正式名称为AdobeFalconJS)上的一些信息。as3hx将ActionScript代码转换为Haxe代码,FlexJS将AS+XML转换为不可编辑的HTML5+Javascript代码。我更喜欢as3hx,因为它具有扩展的可能性,但不知道转换后如何实现项目(最终只得到一些hx文件)。没有尝试FlexJS,因为它似乎是实验性的(不是官方的),需要用更新的ApacheFlexFramework4.9更新AdobeFlex框架。我对更新Flash Builder中的框架犹豫不决,因为我意识到我可能会破坏原始设置

在继续此过程之前,我有几个问题:

  • 真的有可能将(复杂/庞大的)flex项目转换为NME吗
  • 在使用as3hx转换flex项目之后,我必须做什么才能使其作为项目运行(能够在NME中编译它)
  • 是否有人尝试过FlexJS方法并且值得
  • 请参考一些导致这些问题的资源:

    • 哈克斯:
    • as3hx:
    • NME:
    • 猎鹰:
    • FlexJS:

    非常感谢您提供的任何信息,如果您想了解更多信息,请给我写信。

    看来您的项目建设道路太长,无法快速完成。 目前Adobe对flash平台的主要目标是让它成为游戏开发者的糖果,这意味着他们肯定会非常关注air和flash播放器的性能

    也许等待他们的性能更新要比使用haxe(非常像beta版)或javascript(非常有问题的语言)更快

    真的有可能将(复杂/庞大的)flex项目转换为NME吗

    Haxe NME不是为flex mxml ui项目的替代方案而设计的,因此,如果您选择flex ui,您将受限于它所具有的限制

    NME已经看到许多复杂的as3库被移植,所以这并非不可能,但flex mxml需要巨大的投资,有些人可能会认为flex不值得这么做(包括我自己)

    最初基于JavaSwingUI,有as3和Haxe NME两个版本

    对于Haxe/OpenFL(NME)跨平台UI来说,它们都是很好的选择


    像as3hx这样的工具使转换as3/Haxe中最基本差异的过程变得更容易。它并不声称是一个绝对的转换,我还没有看到任何能够自动将高度复杂的as3转换为Haxe的东西。它只是一个工具,不会利用优化as3代码来实现Haxe语言更高级和最好的语言功能。

    我很抱歉让你的希望落空,但我要处理的是摆脱Flex而转向HTML5/JS的同样问题。如果你想的话,你可以在几个月内极力反对将你的大型flex应用程序转换成HTML5/JS,但最终在ExtJS这样的库中重写整个程序会更容易

    我强烈推荐FlexJS,特别是对于任何有AS3/Flex项目的人。FlexJS今年取得了很多进展。既然你能坚持使用你已经知道的工具和AS3语言,为什么还要重新编写整件事呢?我一直在与FlexJS合作,最近创建了一个完整的网站前端、后端和mysql连接,所有这些都是用AS3编写的,并编译成javascript for Node.js。真是太棒了

    使用FlexJS的Flash Builder

    教程和工具