你说:
但是,仍然无法构建复杂的 UI
仅仅因为你还没有弄清楚如何去做并不意味着它是不可能的;)
可能的原因是,在 Haxe 生态系统中,语言和编译器是非常一致的跨平台,NME/OpenFL 提供了相当强大的跨平台渲染环境(HTML 5 有一些怪癖,但其他似乎相当强大)等等。您在这些之上构建将涵盖许多开箱即用的平台。这是关于相当高的水平 - 让编译器和库处理平台的怪癖。
在 MVC 中,UI 的东西通常是“视图”。对于 View / UI 框架,请查看以下库:
Stablex UI
NME/OpenFL,跨平台。使用 NME API 绘制组件。这是我玩过的唯一一个,但该演示在 android、flash、html5、本机 linux 上始终如一。相当令人印象深刻。
HaxeUI
NME,跨平台。再次,在舞台上绘制组件。
Prime
使用 Flash API 绘制。不确定它是否已经跨平台移植。
另请参阅WWX 会议和幻灯片的谈话/视频
Guise
一种真正创新的方式,既可以绘制 UI,也可以使用原生(如果有)。查看博客文章。
基础
包装原生组件的另一种尝试 - 到目前为止有 iOS 和 Android 库。很酷,但我还没玩过。
对于 MVC,有很多选择:
- PrimeVC,上面提到过。
- MMVC,基于 RobotLegs 框架,但为 Haxe 量身定制。
- 很多小选项BBMVC PureMVC等
MVC 框架的优势在于它们将视图与应用程序数据(模型)和逻辑(控制器)分开。尝试花一些时间熟悉其中一个 MVC 框架,您将了解如何以可以使用其中之一的方式编写应用程序,然后使用各种视图引擎(无论是原生的还是 NME-)呈现。这可能是一个相当陡峭的学习曲线,但这是您构建可在不同 UI 框架之间轻松移植且易于测试的应用程序的方式,因此您知道它们将随着应用程序复杂性的增长而扩展。