我知道动作脚本是客户端的。但是当我使用炼金术时我很困惑。炼金术是客户端还是服务器端?
4 回答
客户端。它编译为 AVM2 字节码,与其他 ActionScript 代码在同一虚拟机上运行。
对不起,这个问题的答案是错误的。您可以轻松地运行 alchemy 生成的代码,甚至可以在服务器端运行 alchemy + adobe AIR:
http://code.google.com/p/redtamarin/issues/detail?id=6
http://code.google.com/p/redtamarin/wiki/ABC
查看第一个链接,因为我们现在可以在 red tamarin 中使用 AIR 功能,您可以编写使用 ServerSocket 来监听和处理连接的动作脚本。
此外,您仍然可以通过使用普通 AIR 运行时部署的普通 adobe AIR 应用程序来执行此操作。您可以再次导入您的炼金术代码,根据需要使用它,并且您正在服务器上运行 actionscript 3,并能够通过 actionscript 3 本地处理套接字连接。
虽然我自己对炼金术很陌生,但据我所见,两者兼而有之。例如,如果您熟悉 GWT,它与它有相似之处。
换句话说,它可以在服务器上运行 C/C++ 代码,同时能够将 C/C++ 代码编译为 ActionScript 以在客户端上执行。
这是一篇更深入地解释它的文章:http: //ncanasse.fr/blog/adobe_alchemy
Alchemy 或 XC API(它的正式名称)取决于编译器和运行时
对于必须使用 ASC2(ActionScript Compiler 2.0)的编译器,并且必须至少编译到 SWF 版本 19(例如 SWF19 用于 Flash Player 11.6 和 AIR 3.6),请参阅https://code.google.com/p/ maashaack/wiki/FPAPI
这个编译器会将特殊的操作码写入最终的 SWF 文件
对于运行时,在 SWF 为 SWF19 或更高的条件下使用 AVM2(ActionScript 虚拟机)的任何运行时都将能够解释那些特殊的操作码
这意味着:来自 11.6 的 Flash Player、来自 3.6 的 AIR 和来自 v0.4 的 RedTamarin(即将发布)
换句话说:Alchemy 或 XC API,或快速内存操作等是“特殊”字节码运算符(编译器编写它们,运行时读取它们)
请参阅这篇关于如何使用它们的文章 http://obtw.wordpress.com/2013/04/03/making-bytearray-faster/