Haxe 和 Kivy 的优缺点

Posted

技术标签:

【中文标题】Haxe 和 Kivy 的优缺点【英文标题】:Pros and Cons for Haxe and Kivy 【发布时间】:2013-05-04 15:13:46 【问题描述】:

我希望开发适用于 iosandroid、Windows Phone 和桌面的应用程序,无论它是 Web 还是独立的。有没有人可以详细分享 Haxe + NME 或 Kivy 的经验?

我一直在寻找可以部署到所有平台的东西,这是我似乎找到的两个最佳选择。不过我不打算做游戏。它更像是一个在图像上有很多触摸监听器的应用程序。触摸图像,然后隐藏它,创建那个,并在幕后进行大量数学运算。然而,我确实需要一个寻路库,但我工作过的几乎所有引擎都有 A-star 寻路库。我还需要一个 slideView 库,以便用户可以像在智能手机桌面上那样交换页面。非常感谢您可以就以下主题分享的任何信息。提前感谢您的阅读和提供的任何帮助。给您添麻烦了

【问题讨论】:

【参考方案1】:

这里没有使用 Haxe 的经验,但我可以回答 Kivy:

首先,windows phone 目前不受支持,据我所知,没有人尝试过任何端口,它可能是可行的,但它还不存在,并且没有核心贡献者拥有 windows phone 设备,所以直到这种情况发生变化,或者有人有了这个动机,它发生的可能性就很低。

对于您的交互需求,Kivy 很容易满足要求,它真正专注于使每个小部件的触摸处理易于定义。我们没有太多关于您的数学需求的信息,如果它们很重,您可能希望像 numpy 这样的东西在幕后可用,和/或使用线程在不阻塞应用程序的情况下完成繁重的工作,这完全可以用 Kivy 完成,所以我认为那里没有特别的问题。对于 A*,kivy 内部没有直接的实现,但是您应该能够使用 python 实现(那里有几十个),如果您在这方面的需求需要更高的性能,您可以对其进行 cythonize 以提高性能,或者使用为每个目标编译的 C 实现。

希望这会有所帮助。

【讨论】:

【参考方案2】:

这里是 Haxe 的老用户,虽然我个人主要将 Haxe 用于 Web 应用程序项目,而不是 NME。直到最近,NME 的主要关注点一直是(遥远的)游戏。最近有一些努力在 NME 的跨平台优势基础上创建漂亮的 UI 工具包:

https://github.com/RealyUniqueName/StablexUI - Demo(适用于 html5、flash、本机桌面和移动设备)https://github.com/ianharrigan/haxeui

但它们是最近添加的,因此,如果您正在寻找久经考验的解决方案,Kivy(以前从未听说过,但看起来很酷!)看起来它更成熟一些,并且需要更多润色它。

就性能和整体可靠性而言,Haxe/NME 非常出色,但它获得的那些具有原生感觉的 UI 小部件将成为您的痛点。但除此之外,它是一种令人惊叹的语言:) Python 也非常好……各有各的特点!

在撰写本文时,人们正在尝试使用 Native UI(即将举行的会议上有一个关于 Objective C 目标的演讲,Java 和 C# 目标正在变得更加成熟,因此有 3 个主要的移动平台涵盖)所以如果你想要 native ui 组件,这可能是一个选项,虽然它还没有准备好,我只是希望它可能在明年左右成为现实 :)

无论哪种方式,祝您的项目好运!如果您确实选择使用 Haxe/NME,请务必提出问题(在此处、NME 论坛或 Haxe 邮件列表中),以便人们可以帮助您。

【讨论】:

以上是关于Haxe 和 Kivy 的优缺点的主要内容,如果未能解决你的问题,请参考以下文章

Elixir东游记/上:intro/1

如何评价 Python 的交互框架 Kivy

FlashDevelop / Haxe - 如何选择项目类型

Haxe 3返回空CallStack

如何查看 Haxe 中的可用空间?

Haxe 项目未编译