Haxe 由一个高级的、开源编程语言和一个编译器构成。它允许使用一个 ECMAScript 规范面向对象的语法编写编译程序到多种目标平台。得益于适当的抽象,它可以维护一个单一基础代码,并支持编译到多种目标平台。
Haxe 是强类型,但是类型系统可以在需要的地方被推翻。利用类型信息,Haxe 类型系统可以在编译时检测那些可能只在目标语言运行时才被注意到的错误。此外,类型信息可以被目标语言生成器用来生成优化的、健壮的代码。
目前, Haxe 支持九个目标语言用于不同的用例:
名称 | 输出类型 | 主要用途 |
---|---|---|
JavaScript | Sourcecode | Browser, Desktop, Mobile, Server |
Neko | Bytecode | Desktop, Server |
PHP | Sourcecode | Server |
Python | Sourcecode | Desktop, Server |
C++ | Sourcecode | Desktop, Mobile, Server |
ActionScript 3 | Sourcecode | Browser, Desktop, Mobile |
Flash | Bytecode | Browser, Desktop, Mobile |
Java | Sourcecode | Desktop, Server |
C# | Sourcecode | Desktop, Mobile, Server |
第一部分余下的内容简要概述了 一个Haxe 程序的模样,和自2005年开始以来的进化。
类型(第2章)介绍了 Haxe 中七种不同的类型,和它们之间的交互。在 类型系统(第3章) 中将继续对类型的讨论,如 类型统一、类型参数和类型推断等。
类字段(第4章) 所有内容都是关于 Haxe 类的结构,其中包括一些其它的话题、属性的处理、内联字段和泛型函数等。
在 表达式(第5章) 中我们了解如何通过使用表达式实际上上程序做些什么。
语言特性(第6章) 详细描述了一些 Haxe 的特性,如模式匹配、字符串插值 和无用代码消除。这总结了 Haxe 语言参考。
接下来是 Haxe 编译器参考,首先在进入 编译器的高级功能(第8章) 之前讲述基础的 编译器用法(第7章)。然后,将探索令人兴奋的内容, Haxe 的 宏(第9章),了解一些常见的如何被大大简化。
后面的章节中, 标准库(第10章) 探索 Haxe 标准库中重要的类型和概念。然后学习 Haxe 的包管理系统 Haxelib(第11章)。
Haxe 抽象了许多目标平台的差异,但是有时和目标平台直接交互也是非常重要的,在 目标平台细节(第12章) 中,我们将讨论这个主题。