Haxe NME UI:MVC应用程序设计的最佳实践

时间:2013-06-29 10:02:32

标签: model-view-controller user-interface haxe nme

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

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

3 个答案:

答案 0 :(得分:12)

你说:

  

但是,仍然无法构建复杂的用户界面

仅仅因为你还没弄明白怎么做并不意味着它不可能;)

可能的原因是,在Haxe生态系统中,语言和编译器是非常一致的跨平台,NME / OpenFL提供了一个相当强大的跨平台渲染环境(HTML 5有一些怪癖,但其他看起来相当强大)所以你在这些基础上构建的任何东西都将覆盖很多开箱即用的平台。这是关于相当高的水平 - 让编译器和库处理平台怪癖。

在MVC中,UI内容通常是“ V iew”。对于View / UI框架,请查看这些库:

  1. Stablex UI
    NME / OpenFL,跨平台。使用NME API绘制组件。这是 我玩过的唯一一个,但该演示在android上运行一致, flash,html5,原生linux。非常令人印象深刻。

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

  3. Prime
    使用Flash API绘制。不确定它是否已经跨平台移植。
    另请参阅Talk/Video from WWX conferenceSlides

  4. Guise
    一种真正创新的方式,能够绘制UI,或使用本机(如果可用)。查看博客文章。

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

  6. 对于MVC,有很多选择:

    1. PrimeVC,如上所述。
    2. MMVC,基于RobotLegs框架,但为Haxe量身定制。
    3. 许多小选项BBMVC PureMVC
    4. MVC框架的优点是它们将您的视图与应用程序数据(模型)和逻辑(控制器)分开。尝试花一些时间熟悉一个MVC框架,你会看到如何编写你的应用程序,你可以使用其中一个,然后任何各种视图引擎 - 本机或NME-渲染。它可能是一个相当陡峭的学习曲线,但这就是您构建可在不同UI框架之间轻松移植的应用程序的方式,并且易于测试,因此您知道随着应用程序的复杂性增加,它们将扩展。

答案 1 :(得分:0)

您似乎面临的主要问题是没有开箱即用的选项已完成且可供您使用。众多项目人士建议做你想做的事。你需要愿意使用它们。 github上的一个小项目可能会被删除。如果是这样,它将被删除,因为jo使用它,所以它取决于那些想要使用它的人(即:你)继续使用它。

每个人都无法吸取其他已完成的项目或者什么都不会创建。参与是开源的意义所在。

答案 2 :(得分:0)

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