我已经开始使用 Haxe 将我的 ActionScript 3 项目转换为 NME,但是,我想知道 Linux 世界中的 Neko 是什么?我搜索了它,我找到了一只动画猫!
谁能给我解释一下?
大多数人来说,Neko只不过是一个Haxe目标。 这在技术上是不正确的(它确实有自己的语言,并且可能成为其他语言的目标(,但对于大多数人来说,Neko 是 Haxe 输出目标之一。
就像Java虚拟机(JVM(可以从多种语言面向一样(参见维基百科上的列表(,Neko是一种字节码格式,理论上可以从多种语言写入。 然而,对于Neko,大多数人似乎使用Haxe来创建他们的*.n文件。
对于Haxe程序员来说,Neko目标可以让你:
- 编写命令行工具和实用程序(例如,haxelib 和 haxedoc 是用针对 Neko 的 Haxe 编写的(
- 编写Web应用程序或动态网页 - 使用mod_neko(或mod_tora(,您可以获得具有与PHP相同功能的Web处理器,但速度要快得多。
- 使用NME创建游戏(最初从Neko开始,它代表Neko媒体引擎(,并快速编译它们,其目标更接近CPP的目标,但编译速度更快,输出是跨平台的。
- 与 Haxe 紧密相关的运行时,可以从宏等内部使用 - 因此您可以使用宏中的所有 neko.* 类。
如果你只对SWF或JS感兴趣,你可能对Neko没有太多需求。 但是,如果您正在编写服务器端代码,您会欣赏性能,如果您正在编写 CPP,您可能会喜欢拥有一个简单的目标,它非常简单且编译速度非常快,并且行为类似于 CPP。
当然,在Haxe neko之外是它自己的语言......但至少对我来说,大多数人似乎只是把它和 Haxe 一起使用。
更多信息:
如果你想用Neko语言编写(参见本教程(,你可以将你的代码保存为"myfile.neko"并使用nekoc myfile.neko
编译,这将编译一个Neko字节码文件"myfile.n"。
如果你想用Haxe语言编写,你可以将文件保存为"MyFile.hx",并使用"haxe -neko myfile.n -main MyFile"进行编译。
由这两者生成的"myfile.n"没有人类可读的源代码 - 这是Neko字节码。 您可以通过运行在任何安装了Neko的计算机上运行它 neko myfile.n
. 您可以通过运行 nekotools boot myfile.n
将其转换为适用于您的平台/操作系统的可执行文件(无需安装 Neko 即可运行(。
这是一个关于 Neko 入门的教程,它涵盖了您编写的命令行程序和(非常非常基本的(网页。
"Neko"在日语中是"猫"的意思,这可能就是你找到你所做的事情的原因。
Neko也是一个虚拟机("VM"(,如Java虚拟机("JVM"(或.Net公共语言运行时(".Net CLR"(。
Neko 有一种自定义的高级语言,作为易于定位的语言后端(在某种程度上类似于 C-,但不像更接近汇编语言的 LLVM(。换句话说:它是编程语言可以翻译成的东西,而不是更复杂的"完整"编译(如汇编、字节码或机器代码(。Neko的语言可以翻译成字节码,这是可移植的,通常存储在".n"文件中。
Neko是由Nicolas Cannasse(与Haxe编程语言的制作者(制作的,这可能就是为什么Haxe在其编译器中有一个Neko目标,而Haxe工具,如"haxelib"使用它。由于这些工具被编译为".n"文件,因此它们只需要构建一次,然后它们就可以在安装了虚拟机可执行文件"neko"的任何平台上工作。
也许关于 neko 更有趣的一点,以及为什么你应该在 Haxe 开发中学习它是用于编译时宏的运行时。请参阅本教程,了解如何在编译时运行程序的一部分,并完全访问构建计算机,这意味着您甚至可以在编译时执行复杂的任务,例如解析数据文件。
Neko 为几种不同的语言提供了通用运行时,包括 javascript 和 haxe。 编译器将源文件 (.neko( 转换为可在虚拟机中执行的字节码文件 (.n(。 您可以将编译器用作与虚拟机分离的独立命令行可执行文件,或用作 Neko 库来执行交互式语言的编译和运行。 Neko由Nicolas Cannasse编写。
你可以在这里找到Neko教程