我正在考虑学习Haxe,经过广泛的经验和一些javascript / nodejs但是有几个人已经声明haxe编译成swf并将其封装在“插入平台这里”上运行,这使得它与一些原生功能不兼容而且开销很大。
我有兴趣了解ipad / iphone。这会以某种方式编译成与这种苹果设备兼容的格式吗?我的意思是它转换为x代码然后编译它或什么?
我有各种客户需要同一应用程序的跨平台版本,Haxe看起来像一个简单,优雅的解决方案,但由于我的客户来自美国,Apple产品是我关心的问题。
我的项目范围围绕着带有服务器服务的简单应用程序,可能还有一些网络摄像头/麦克风动作,如果这有助于回答问题。欢呼声。
答案 0 :(得分:11)
haxe编译成swf并封装它以在“insert platform here”上运行,这使得它与一些本机功能不兼容并且具有很大的开销。
这是一个很大的误解。虽然与任何跨平台技术一样,这是一个有点微妙的答案。
首先,要知道Haxe只是一种编程语言,可编译成许多其他语言(& bitcode)目标,例如: JavaScript,C ++,PHP,python,SWF,hl,neko等。
编译为C ++是构建原生Android和iOS应用程序(以及Windows和Mac应用程序)的典型路径。而且,Haxe只是语言。通常,框架用于构建应用程序,有很多选择 - OpenFL或其前身Haxe NME,heaps.io,HaxeFlixel或{{3} },或luxe。
每个框架在范例和工作流程中都是独一无二的,但是,例如,上次我使用OpenFL时,在构建iOS时使用C ++代码导出XCode项目。然后,您需要在XCode中打开并编译项目,并将其编译到您的设备(或应用程序商店),就像任何其他iOS应用程序一样。
虽然使用框架是使用Haxe构建应用程序的常用方法,但如果您愿意,可以自行编辑,例如:
将Haxe编译为JavaScript,使用Kha来利用现有的JS库(例如,这里是一组externs或内置的Pixi.js externs),并使用Haxe开发移动Web应用程序。注意:上面的许多框架都支持Haxe - > JS工作流程。
将Haxe编译为SWF,然后使用jQuery externs将您的应用打包为本机iOS / Android应用。这避免了XCode,并且可以从Linux和Windows(不编译XCode项目)中实现。也许这种流动是其他人所谈论的。