Haxe 是2005年由法国开发者尼古拉·卡诺塞发布的开源跨平台语言,一套源码可编译输出 JavaScript、C++、Java、Python 等十余种目标,或运行于自家虚拟机。它以强大的静态类型系统和宏著称,在跨平台游戏开发领域应用最广。

| 设计者 | 尼古拉·卡诺塞 |
| 首次发布 | 2005年 |
| 维护组织 | Haxe 基金会 |
| 类型系统 | 静态类型、类型推断 |
| 编译目标 | JS、C++、Java、Python 等 |
| 代表作品 | 死亡细胞、北境之地 |
Haxe是一门开源的高级跨平台编程语言,由法国开发者尼古拉·卡诺塞(Nicolas Cannasse)创建,2005年发布首个版本。它最大的特色是一次编写、多端编译:同一份 Haxe 源码可以被编译成 JavaScript、C++、C#、Java、Python、PHP、Lua 等多种目标语言的代码,也可编译为字节码在自家的 HashLink 或早期的 Neko 虚拟机上运行。
Haxe 诞生于 Flash 鼎盛时代,最初定位是 ActionScript 的开源替代品,语法也与 ECMAScript 一脉相承。随着 Flash 衰落,Haxe 凭借多目标编译能力成功转型:开发者用一门语言编写核心逻辑,再按需输出到网页(JavaScript)、原生桌面与主机(C++)、移动端等平台。语言、编译器与标准库均以自由协议开源,由 Haxe 基金会维护,该基金会由卡诺塞所在的游戏公司 Shiro Games 等企业支持。
Haxe 最活跃的领域是二维游戏开发:开源框架 OpenFL 复刻了 Flash API,Heaps 引擎则由 Shiro Games 用于商业游戏《Dead Cells(死亡细胞)》《Northgard(北境之地)》的开发;人气独立游戏《Friday Night Funkin'》同样基于 Haxe 生态(HaxeFlixel 框架)。此外它也被用于编写跨前后端共享的业务逻辑、命令行工具以及向多语言分发的 SDK。
问:Haxe 编译出的代码性能如何?答:取决于目标平台。输出 C++ 或运行于 HashLink 虚拟机时性能接近原生;输出 JavaScript 时与手写代码相当,编译器还会做内联与死代码消除。
问:Haxe 与 TypeScript 有何不同?答:TypeScript 只面向 JavaScript 一个目标,定位是给 JS 加类型;Haxe 是独立语言,类型系统更强(枚举 ADT、宏),且可输出多种语言,适合真正的多端共享代码。
问:为什么 Haxe 知名度不高却一直活着?答:它在跨平台游戏这一细分领域有不可替代的生产力,多家商业游戏公司持续投入,社区虽小但稳定,语言与工具链更新至今活跃。

| 设计者 | 尼古拉·卡诺塞 |
| 首次发布 | 2005年 |
| 维护组织 | Haxe 基金会 |
| 类型系统 | 静态类型、类型推断 |
| 编译目标 | JS、C++、Java、Python 等 |
| 代表作品 | 死亡细胞、北境之地 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧