【问题标题】:What exactly does Haxe export for iphone/ipads?Haxe 究竟为 iphone/ipad 导出了什么?
【发布时间】:2014-01-21 10:48:16
【问题描述】:

在丰富的 as3 经验和一些 javascript/nodejs 之后,我正在考虑学习 Haxe,但有几个人表示,haxe 编译成 swf 并将其封装以在“在此处插入平台”上运行,使其与某些本机功能不兼容并且开销很大。

我有兴趣专门了解 ipad/iphone。这是否以某种方式编译成与此类苹果设备兼容的格式?我的意思是它是翻译成 x-code 然后编译它还是什么?

我有很多客户想要同一个应用程序的跨平台版本,而 Haxe 看起来是一个简单、优雅的解决方案,但由于我的客户来自美国,Apple 产品对我来说是一个问题。

我的项目范围围绕着带有服务器服务的简单应用程序,也许还有一些网络摄像头/麦克风操作,如果这有助于回答的话。干杯。

【问题讨论】:

  • 你问的是haxe还是openfl?
  • Haxe。直到现在还没有听说过 Openfl。如果它更优越,请随意引导我。
  • Haxe 只是一种可以“编译”为其他编程语言的编程语言,openfl 是一个用于将 flash API 模拟到其他平台的 haxe 库/框架。当您听说人们使用 haxe 将他们的 flash 游戏移植到 iOS 时,他们可能使用了 openfl。我不能代表 iOS,但我已经为 android 使用了 openfl,我可以告诉你它将使用 NDK(因此 haxe 代码将转换为 c+),但它还将提供一个可以编译的 eclipse android 项目/修改自己。

标签: ios iphone actionscript-3 ipad haxe


【解决方案1】:

haxe 编译成 swf 并将其封装以在“在此处插入平台”上运行,这使其与某些原生功能不兼容且开销很大。

这是一个很大的误解。尽管与任何跨平台技术一样,这是一个有点微妙的答案。

首先,要知道 Haxe 只是一种可以编译为许多其他语言(和位码)目标的编程语言,例如JavaScript、C++、PHP、python、SWF、hl、neko 等。

编译为 C++ 是构建原生 Android 和 iOS 应用程序(以及 Windows 和 Mac 应用程序,就此而言)的典型路径。此外,Haxe 只是一种语言。通常使用框架来构建应用程序,有很多选择 -- OpenFL,或者它的前身Haxe NME,或者heaps.io,或者HaxeFlixel,或者luxe,或者Kha

每个框架在范例和工作流程方面都是独一无二的,但例如,上次我使用 OpenFL,它在为 iOS 构建时导出了一个带有 C++ 代码的 XCode 项目。然后,您需要在 XCode 中打开并编译项目并在您的设备上(或应用商店),就像任何其他 iOS 应用程序一样。

虽然使用框架是使用 Haxe 构建应用程序的常用方法,但您也可以自行开发,例如:


将 Haxe 编译为 JavaScript,使用 externs 以利用现有的 JS 库(例如,这里是一组 Pixi.js externs,或内置的 jQuery externs),并使用 Haxe 开发移动 Web 应用程序。注意:上述许多框架都支持 Haxe -> JS 工作流。


将 Haxe 编译为 SWF,然后使用 Adobe AIR SDK 将您的应用程序打包为原生 iOS / Android 应用程序。这避免了 XCode,并且可以从 Linux 和 Windows(编译 XCode 项目不是)。也许这个流程就是那些其他人在谈论的。


【讨论】:

  • 谢谢杰夫。在我临终的床上,我会深情地想起你。
  • 如果您是移动应用程序开发人员,我想这可能还为时过早。 =)
  • 我认为你混淆了 C 和 C++,使用 openfl 时,Haxe 被翻译成 C++ 而不是 C,haxe 的 C 目标仍在进行中。
  • 感谢@lordkryss,已更新至 C++。对于我们这些不经常使用这些母语的人来说,我们往往会混淆它们。
  • 只是为了增加乐趣,您还可以在 iPad 上使用 Haxe 来定位 JS。这是Flambe 采用的方法,性能不错,我用它玩过一些成品游戏,对性能等印象比较深刻...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 2016-09-10
  • 2023-03-15
  • 2012-10-17
  • 2021-06-04
  • 1970-01-01
  • 2018-07-30
相关资源
最近更新 更多