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

use*_*379 4 model-view-controller user-interface haxe nme

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

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

Jas*_*eil 12

你说:

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

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

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

在MVC中,用户界面的东西通常是" V IEW".对于View/UI框架,请查看这些库:

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

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

  3. Prime
    使用Flash API绘制.不确定它是否已被移植到跨平台.
    另请参阅WWX会议幻灯片中的Talk/Video

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

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

对于MVC,有很多选择:

  1. PrimeVC,如上所述.
  2. MMVC,基于RobotLegs框架,但为Haxe量身定制.
  3. 很多小选项BBMVC PureMVC

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