アクション スクリプトがクライアント側であることはわかっています。しかし、錬金術を使用しているとき、私は非常に混乱しています。Alchemy はクライアント側ですか、それともサーバー側ですか?
4 に答える
クライアント側。AVM2 バイトコードにコンパイルされ、残りの ActionScript コードと同じ仮想マシンで実行されます。
申し訳ありませんが、この質問に対する答えは間違っています。サーバー側で alchemy + adobe AIR であっても、alchemy で生成されたコードを簡単に実行できます。
http://code.google.com/p/redtamarin/issues/detail?id=6
http://code.google.com/p/redtamarin/wiki/ABC
最初のリンクを見ると、red tamarin で AIR 機能を使用できるようになったため、ServerSocket を使用して接続をリッスンして処理する actionscript を作成できます。
また、通常の AIR ランタイムを使用してデプロイされた通常の Adobe AIR アプリケーションでも、これを行うことができます。ここでも、alchemy コードをインポートして必要に応じて使用し、actionscript 3 を介してソケット接続をネイティブに処理できるサーバー上で actionscript 3 を実行しています。
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 仮想マシン) を使用するランタイムは、これらの特別な op コードを解釈できます。
つまり、Flash Player は 11.6 から、AIR は 3.6 から、RedTamarin は v0.4 から (まもなくリリースされます)。
別の言い方をすれば、Alchemy や XC API、高速メモリ操作などは「特別な」バイトコード演算子です (コンパイラが書き込み、ランタイムが読み取ります)。
それらの使用方法については、この記事を参照してください http://obtw.wordpress.com/2013/04/03/make-bytearray-faster/
私自身は Alchemy にかなり慣れていませんが、私が見た限りでは両方です。たとえば、GWT に精通している場合は、GWT と類似点があります。
つまり、C/C++ コードをサーバーで実行しながら、C/C++ コードを ActionScript にコンパイルしてクライアントで実行できます。
もう少し詳しく説明している記事があります: http://ncannasse.fr/blog/adobe_alchemy