昨天我偶然发现了Haxe NME项目,这是一个非常有前途的想法。但是,仍然无法使用此框架构建复杂的UI。在我看来,构建一个针对这么多不同平台的UI框架似乎是一项令人生畏的任务,因此我认为这不是一种可行的方法,因为即使像Qt和wxWidgets这样老旧成熟的UI框架也不支持很多平台。
然而,在一些漂亮的UI设计器工具的帮助下构建一个特定于平台的UI,然后将UI代码连接到用Haxe编写的UI无关代码是有意义的。我不知道这是否可行,因为我找不到任何示例,但也许有人已经编写了一些MVC Haxe代码,可以成功连接到不同的平台特定UI,想分享他的经验。感谢。
答案 0 :(得分:12)
你说:
但是,仍然无法构建复杂的用户界面
仅仅因为你还没弄明白怎么做并不意味着它不可能;)
可能的原因是,在Haxe生态系统中,语言和编译器是非常一致的跨平台,NME / OpenFL提供了一个相当强大的跨平台渲染环境(HTML 5有一些怪癖,但其他看起来相当强大)所以你在这些基础上构建的任何东西都将覆盖很多开箱即用的平台。这是关于相当高的水平 - 让编译器和库处理平台怪癖。
在MVC中,UI内容通常是“ V iew”。对于View / UI框架,请查看这些库:
Stablex UI
NME / OpenFL,跨平台。使用NME API绘制组件。这是
我玩过的唯一一个,但该演示在android上运行一致,
flash,html5,原生linux。非常令人印象深刻。
HaxeUI
NME,跨平台。再次,在舞台上绘制组件。
Prime
使用Flash API绘制。不确定它是否已经跨平台移植。
另请参阅Talk/Video from WWX conference和Slides
Guise
一种真正创新的方式,能够绘制UI,或使用本机(如果可用)。查看博客文章。
Basis
包装本机组件的另一种尝试 - 到目前为止还有iOS和Android库。很酷,但我还没玩过它。
对于MVC,有很多选择:
答案 1 :(得分:0)
您似乎面临的主要问题是没有开箱即用的选项已完成且可供您使用。众多项目人士建议做你想做的事。你需要愿意使用它们。 github上的一个小项目可能会被删除。如果是这样,它将被删除,因为jo使用它,所以它取决于那些想要使用它的人(即:你)继续使用它。
每个人都无法吸取其他已完成的项目或者什么都不会创建。参与是开源的意义所在。
答案 2 :(得分:0)
对于所有平台都有统一的用户界面没有意义,每个平台都有不同的工作流程,你试过在Windows上使用IOS列表框,简直太荒谬了。另一方面,良好的设计可以将视图与bussines逻辑分开,您可以与所有目标共享业务逻辑,并为每个目标调整视图。看PureMVC
对于Haxe中的mvc示例