4

昨天我偶然发现了 Haxe NME 项目,这是一个非常有前途的想法。但是,仍然无法使用此框架构建复杂的 UI。在我看来,构建一个针对这么多不同平台的 UI 框架似乎是一项令人生畏的任务,因此我认为这不是一种可行的方法,因为即使是像 Qt 和 wxWidgets 这样古老而成熟的 UI 框架也不支持很多平台。

然而,在一些漂亮的 UI 设计器工具的帮助下构建一个特定于平台的 UI,然后将 UI 代码连接到用 Haxe 编写的 UI 无关代码是有意义的。我不知道这是否可行,因为我找不到任何示例,但也许已经编写了一些 MVC Haxe 代码,可以成功连接到不同平台特定 UI 的人想分享他的经验。谢谢。

4

3 回答 3

12

你说:

但是,仍然无法构建复杂的 UI

仅仅因为你还没有弄清楚如何去做并不意味着它是不可能的;)

可能的原因是,在 Haxe 生态系统中,语言和编译器是非常一致的跨平台,NME/OpenFL 提供了相当强大的跨平台渲染环境(HTML 5 有一些怪癖,但其他似乎相当强大)等等。您在这些之上构建将涵盖许多开箱即用的平台。这是关于相当高的水平 - 让编译器和库处理平台的怪癖。

在 MVC 中,UI 的东西通常是“视图”。对于 View / UI 框架,请查看以下库:

  1. Stablex UI
    NME/OpenFL,跨平台。使用 NME API 绘制组件。这是我玩过的唯一一个,但该演示在 android、flash、html5、本机 linux 上始终如一。相当令人印象深刻。

  2. HaxeUI
    NME,跨平台。再次,在舞台上绘制组件。

  3. Prime
    使用 Flash API 绘制。不确定它是否已经跨平台移植。
    另请参阅WWX 会议幻灯片的谈话/视频

  4. Guise
    一种真正创新的方式,既可以绘制 UI,也可以使用原生(如果有)。查看博客文章。

  5. 基础
    包装原生组件的另一种尝试 - 到目前为止有 iOS 和 Android 库。很酷,但我还没玩过。

对于 MVC,有很多选择:

  1. PrimeVC,上面提到过。
  2. MMVC,基于 RobotLegs 框架,但为 Haxe 量身定制。
  3. 很多小选项BBMVC PureMVC

MVC 框架的优势在于它们将视图与应用程序数据(模型)和逻辑(控制器)分开。尝试花一些时间熟悉其中一个 MVC 框架,您将了解如何以可以使用其中之一的方式编写应用程序,然后使用各种视图引擎(无论是原生的还是 NME-)呈现。这可能是一个相当陡峭的学习曲线,但这是您构建可在不同 UI 框架之间轻松移植且易于测试的应用程序的方式,因此您知道它们将随着应用程序复杂性的增长而扩展。

于 2013-07-01T02:59:49.557 回答
0

您似乎面临的主要问题是没有完整且可供您使用的开箱即用选项。许多项目人员建议做你想做的事。你需要愿意使用它们。github上的一个小项目可能会被丢弃。如果是这样,它将被丢弃,因为 jo one 使用它,所以它取决于想要使用它的人(即:你)来保持它的运行。

每个人都不能吸走其他人完成的项目,否则什么都不会被创造出来。参与是开源的意义所在。

于 2013-08-08T17:56:32.147 回答
0

所有平台都有一个统一的UI没有意义,每个平台都有不同的工作流程,你有没有试过在windows上使用IOS列表框,简直是荒谬的。另一方面,一个好的设计可以将视图与业务逻辑分开,您可以与所有目标共享业务逻辑并调整每个目标的视图。查看PureMVC
以获取 Haxe 中的 mvc 示例

于 2014-08-20T13:41:41.620 回答