您的位置:首页 > 其它

Haxe文档之Introduction(介绍)

2015-09-27 21:19 232 查看
对Haxe编程语言、编译器、标准库和其他必要的知识点进行介绍。

一.对Haxe工具集的介绍:

Haxe Toolkit
是一个强大的开源工具集,会帮助将你的开发更进一步。如果想要开发应用程序、游戏或框架的话,你不必为每个平台(比如Windows、Mac OS、Linux、IOS、Android等)都开发一种优化的软件版本,相反,你可以利用Haxe将你的工程直接编译成你想要的编程语言代码或者目标平台。

Haxe允许你将目标对准于大多数的主流平台,它不仅仅可以增加你开发过程的灵活性,还会为你节省宝贵时间和资源。

为了帮助你做到这些,工具集包含了三个主要的组件:

Haxe Language:一个现代的、高级的、严格类型检查的编程语言

Haxe Standard Library :一个完整的、跨平台的标准库

Haxe Compiler:一个异常快的混合编译器

除了这些特点外,Haxe工具集也为你提供了一系列工具,能够让你使用Haxe更加高效。

二.对Haxe编程语言的介绍

Haxe是一个现代、高级的编程语言,它是严格类型检查的,如果你已经对
Java
C++
PHP
AS3
或者其他面向对象编程语言熟悉的话,就很容易学习Haxe。

因为Haxe编程语言是特地为
Haxe
工具集设计的,我们额外注意了它的灵活性。Haxe很容易让你的应用适应于不同平台的本地行为,这样,你就能进行高效的跨平台开发,从而节省时间和资源。

写一个
Hello,World
程序

Haxe设计得简单但是很强大,它的语法很大程度上是跟随于
ECMAScript
,但是必要的地方又有所不同。以下是Haxe写的
Hello,World
程序:

class HelloWorld {
static public function main() {
trace("Hello World");
}
}


安装了
Haxe
后,将上面的程序保存在一个文件中,命名于
HelloWorld.hx
,我们可以在命令行中编译这个程序,

编译成
JavaScript
程序:

haxe -main HelloWorld -js HelloWorld.js


编译成
Java
程序:

haxe -main HelloWorld -java path/to/java/out


大多数的Haxe代码都是以
classes(类)
functions(方法)
方式组织的,让Haxe成为一种面向对象的编程语言。Haxe富有表现力,以可读性性的语法,成为了一种强大的编程语言。

三.Haxe编程语言介绍

Abstract types

Anonymous structures

Array Comprehension

Classes, interfaces and inheritance

Conditional compilation

(Generalized) Algebraic Data Types

Inlined calls

Iterators

Local functions and closures

Metadata

Static Extensions

String Interpolation

Partial function application

Pattern Matching

Properties

Type Parameters, Constraints and Variance

四.Haxe标准库的介绍

Haxe标准库提供了常见的用途工具,而不是想成为一个数据结构和算术的详尽集合。Haxe带有一个
std
目录,里面包含了Haxe标准库,内容是这样分类的:

General purpose(一般用途):
std
目录包含了一些顶级的类,例如,
Array
Map
或者
String
,它们可以被用在所有的平台上。下面的
haxe
子目录提供了额外的数据结构,输入/输出API和更多的工具。

System(系统):
sys
子目录包含了与文件系统和数据库相关的API。此外,
Sys
顶级类允许与操作系统的各种各样的交互。只有当这些类被编译到
sys
类别目标平台上的时候才能够获得。

Target specific(特定目标平台):每个Haxe目标平台都有一个不同的子目录,里面包含了特定目标平台的API。只有编译到给定平台的时候才能够使用到。

1.General purpose API:

所有目标平台上都可以使用

顶级:

- Array

- Date,DateTools

- EReg

- Lambda

- Map

- Math

- Reflect

- Std

- String

- StringBuf

- StringTools

- Type

- Xml

haxe


haxe.Http

haxe.Json

haxe.Resource

haxe.Serializer

haxe.Template

haxe.Timer

haxe.Unserializer

haxe.Utf8

haxe.crypto

haxe.macro

haxe.remoting

haxe.rtti

haxe.unit

haxe.web

haxe.xml

haxe.zip

have.ds


haxe.ds.ArraySort

haxe.ds.BalancedTree

haxe.ds.EnumValueMap

haxe.ds.GenericStack

haxe.ds.IntMap

haxe.ds.ObjectMap

haxe.ds.StringMap

haxe.ds.Vector

have.io


haxe.io.Bytes

haxe.io.BytesBuffer

haxe.io.Path

2.系统API

C++
C#
Java
Neko
PHP


Sys

sys.FileSystem

sys.db

sys.io.File

sys.io.Process

3.特定目标平台的API

<1>cpp :

cpp.Lib

cpp.net

cpp.vm

cpp.zip

<2>cs:
C#
平台上的API

<3>flash :

flash

flash.Lib

flash.Memory

flash.Vector

<4>flash8 :

flash8

<5>java

<6>js :

js.Browser

js.Cookie

js.jQuery

js.Lib

js.html

<7>neko

neko.Lib

neko.Web

neko.net

neko.vm

neko.zip

<8>php

php.Lib

php.Session

php.Web

php.db.PDO

五.编译器目标平台

以下的表给出了Haxe的目标平台:



六.编辑器与集成开发工具

流行的编辑器:

FlashDevelop

Sublime Text

IntelliJ IDEA

VIM

Atom

HIDE(正在开发中)

官方提供了使用这些编辑器开发使用的插件编辑器与集成开发工具

七.构建Haxe开发环境

1.获取资源

Haxe编译器资源放在
Github
HaxeFoundation accountHaxe repository有几个字模块,所以克隆它可以使用标识
--recursive


git clone --recursive git://github.com/HaxeFoundation/haxe.git


或者,我们也可以从 GitHub Haxe release overview获得
.zip
资源或者二进制文件。

2.在
Mac OS
上配置

依赖项(dependencies)可以很容易地通过
Homebrew
来安装。实际上,如果你只想要使用Haxe最新的开发版本的话,而不修改资源,只需运行:

brew install haxe --HEAD


在将来可以使用命令
brew reinstall haxe --HEAD
来更新Haxe。

如果你想要获取Haxe编译器的话,最好手动克隆,然后使用Makefile:

安装XQuartz(OCaml需要)

安装OCaml

安装Camlp4

进入到Haxe资源所在的目录,然后使用make来构建Haxe

make
make install


其他平台的安装,请看官网Building Haxe from source

通过
Homebrew
来安装的话,会自动帮我们安装依赖项,手动安装的话,需要分别安装依赖项。



八.编译器用法

Haxe编译器可以从命令行中激活,命令要包含几个参数,这些参数会回到这几个问题:

应该编译什么

输出应该是什么

为了回答第一个问题,我们只需使用
-cp path
参数来提供类的路径,还有使用
-main dot_path
参数来编译主类。Haxe编译器然后会分析主类,开始编译。

第二个问题的答案要提供一个参数来声明预期的目标。每个Haxe的目标都有一个命令,例如,
-js file_name
为了JavaScript这个目标,
-php directory
为了PHP这个目标。取决于目标,参数值要么是一个文件名(
-js
,
-swf
neko
),要么是一个目录路径。

常见的参数

Input(输入):

-cp path
:增加一个类路径,
.hx
源文件或包(子目录)可以在这个路径下发现。

-lib library_name
:增加一个
Haxelib
库。

-main dot_path
:设置主类

Output(输出):

-js file_name
:在特定的文件总产生一个
JavaScript
源代码。

-as3 directory
:在特定的文件中产生一个
ActioinScript 3
源代码。

-swf file_name
:产生特定的文件
.swf
,FLASH类型。

-neko file_name
:产生
Neko
二进制文件。

-php directory
:在特定的目录中产生
PHP
源代码。

-cpp directory
:在特定的目录中,使用本地的C++编译器产生
C++
源代码。

-cs directory
:在特定的目录中产生
C#
源代码。

-java directory
:在特定的目录中,使用Java编译器编译成
java
源代码。

-python file_name
:在特定的文件中产生
Python
源代码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: