19

最近我一直在寻找新的(至少对我来说是新的)方法来制作网络应用程序。我发现了两种看起来很有前途的语言。谷歌 Dart 和 Haxe。两者都可以编译为 javascript,因此它们都应该适用于所有浏览器。

现在,我的问题是,对于那些与其中之一或两者一起工作的人,他们的状态如何。他们经常使用吗?它们有用吗?他们的社区是什么?根据您,哪一个是最好的,或者最有希望的?最重要的是,两者的状态如何,它们是否还在积极发展,你认为哪一个会存活最久?

(编辑:作为奖励,我打算在其中制作一个小游戏,可能使用 html5 画布,那么哪一个对此有最好的支持?)

非常感谢!

-巴勃罗

4

2 回答 2

42

我是 Eric J. Smith 的对立面——我只能代表 Haxe。

Haxe 绝对是一门很棒的语言。我想说它的大部分商业用途是在游戏行业——能够将相同的代码库编译到 Flash、JavaScript、桌面、iPhone、Android、WebOS 和黑莓上确实令人印象深刻 :) 作为一个例子,看一些在上一届 Ludum Dare 48 小时游戏制作比赛中使用 Haxe创建的游戏 - 其中一些甚至在 GitHub 上有源代码。

如果您要在 Haxe 中玩游戏,有几个选择。最流行的似乎是使用NME,它是 Haxe 之上的一个库,它为您提供了一个类似 Flash/AS3 的 API,可以编译成许多目标。它确实输出到 JavaScript,但它的主要焦点是 Flash 和 Native CPP(用于 iPhone 等)——因为性能比 JavaScript 好得多。您还可以使用专门针对 JavaScript 的框架,例如 CreateJS - 这是一篇将 NME 与用于 Haxe 的 CreateJS 进行比较的博客文章。我还听说过Flambe的好消息,它似乎针对 JavaScript 游戏/交互式图形进行了优化。

(旁注:Haxe 很容易创建'externs',所以在 Haxe 中可以使用许多普通的 JavaScript 库而不会遇到太多麻烦)

对于应用程序开发(不是游戏),Haxe 仍然可以很好 - 这就是我所做的更多。我通常使用非常标准的 JS 技术,例如 jQuery,但 Haxe 提供了一大堆不错的附加功能,包括编译时错误检查、一种非常强大的语言以及与服务器共享代码的能力。我确信 Dart 提供了一些相同的优势。

在成熟度、稳定性和支持度方面:

  • Haxe 已经存在了很长时间,虽然它的开发团队更小,但他们非常投入(看看有多少变化正在被提交)。
  • Dart 有一家更大的公司支持它。Haxe 正在建立一个官方基金会来促进 Haxe 的未来——但他们不会像谷歌那样有钱!最终,如果 Dart 真的起飞了——我预测有人会尽快设置 Haxe 以输出到 Dart——就像他们在服务器上使用 NodeJS 一样:)
  • 两者似乎都有超级忠诚的社区
  • 许多可用于 Haxe 的库似乎与游戏相关 - 大量补间、动画、物理等。不知道 Dart 是如何发展的。

我也很想听听使用过这两种语言的人关于实际语言的差异。从我所了解的情况来看,Haxe 的类型似乎更严格(我更喜欢 - 在编译时捕获更多错误!)但有些人不喜欢这样。

于 2012-09-07T06:17:27.860 回答
10

我只能代表 Dart。我认为它已经是一个很棒的平台,而且才刚刚开始。谷歌在 Dart 上投入了大量资金,我非常有信心它将成为一个令人难以置信的平台。我儿子和我正在使用画布构建客户端/服务器游戏,并在 Dart 中做两面。到目前为止,这是一次非常好的体验!他们有一个具有完整代码完成、导航和重构支持的编辑器,并且它每天都在变得更好。每天更新编辑器很有趣,因为他们添加了新功能并开始玩新玩具!有不少人在上面做画布游戏项目并取得了不错的成功。唯一的缺点是这个项目还很年轻,还没有很多第三方库,但是每天都有新的库出现。

于 2012-09-06T00:55:37.600 回答