Haxe文档之Introduction(介绍)
2015-09-27 21:19
232 查看
对Haxe编程语言、编译器、标准库和其他必要的知识点进行介绍。
一.对Haxe工具集的介绍:
Haxe允许你将目标对准于大多数的主流平台,它不仅仅可以增加你开发过程的灵活性,还会为你节省宝贵时间和资源。
为了帮助你做到这些,工具集包含了三个主要的组件:
Haxe Language:一个现代的、高级的、严格类型检查的编程语言
Haxe Standard Library :一个完整的、跨平台的标准库
Haxe Compiler:一个异常快的混合编译器
除了这些特点外,Haxe工具集也为你提供了一系列工具,能够让你使用Haxe更加高效。
二.对Haxe编程语言的介绍
Haxe是一个现代、高级的编程语言,它是严格类型检查的,如果你已经对
因为Haxe编程语言是特地为
写一个
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带有一个
General purpose(一般用途):
System(系统):
Target specific(特定目标平台):每个Haxe目标平台都有一个不同的子目录,里面包含了特定目标平台的API。只有编译到给定平台的时候才能够使用到。
1.General purpose API:
所有目标平台上都可以使用
顶级:
- Array
- Date,DateTools
- EReg
- Lambda
- Map
- Math
- Reflect
- Std
- String
- StringBuf
- StringTools
- Type
- Xml
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
haxe.ds.ArraySort
haxe.ds.BalancedTree
haxe.ds.EnumValueMap
haxe.ds.GenericStack
haxe.ds.IntMap
haxe.ds.ObjectMap
haxe.ds.StringMap
haxe.ds.Vector
haxe.io.Bytes
haxe.io.BytesBuffer
haxe.io.Path
2.系统API
在
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:
<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 Haxe release overview获得
2.在
依赖项(dependencies)可以很容易地通过
在将来可以使用命令
如果你想要获取Haxe编译器的话,最好手动克隆,然后使用Makefile:
安装XQuartz(OCaml需要)
安装OCaml
安装Camlp4
进入到Haxe资源所在的目录,然后使用make来构建Haxe
其他平台的安装,请看官网Building Haxe from source
通过
八.编译器用法
Haxe编译器可以从命令行中激活,命令要包含几个参数,这些参数会回到这几个问题:
应该编译什么
输出应该是什么
为了回答第一个问题,我们只需使用
第二个问题的答案要提供一个参数来声明预期的目标。每个Haxe的目标都有一个命令,例如,
常见的参数
Input(输入):
Output(输出):
。
一.对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 account。Haxe 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源代码
。
相关文章推荐
- 青年歌手大奖赛_评委会打分
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---个人整理
- list && iterator
- unix pwd使用命令
- 青年歌手大奖赛_评委会打分
- 最长上升子序列
- java SE复习笔记49
- OCP-V13-010
- LINUX下C语言编程基础
- 白盒测试与黑盒测试
- 谷歌:已 Root 的设备不能使用 Android Pay
- java SE复习笔记48
- 将博客搬至CSDN
- 树木 - 风区 Tree - Wind Zones
- Exploiting Web application vulnerabilities
- 数据结构之树
- 2015迎国庆互联网趋势报告
- python list
- Android动画开发——Animation动画效果
- 软件工程之需求分析