2012-01-05 23 views
1

私は30年ほどActionScriptのアプリケーションを開発してきました。私が見る限り、mxmlcコンパイラはより便利な方法でjavac - {options}を呼び出すshスクリプトです。これは私のソースコードがネイティブ javaバイトコードにコンパイルされているという考えを与えてくれます。なぜflashplayerはJVMを必要としませんか?

上記のことから、Flash PlayerのいずれかにJVMがインストールされているか、JVMが必要であると判断できます。あるいは、他のコンパイラと同じように、Adobeのカスタムバイナリファイルを生成するためにJavaを使用することもできますが、Javaはクロスプラットフォームと業界標準であるため、Adobe(Macromedia)がActionScript/Flex用に選択できる移植性の問題を回避できます。

これは私に説明できますか?

+0

'java - {options} 'によって、' javac - {options} 'を意味しますか? ActionScriptがJavaバイトコードにコンパイルすることは非常に疑問です。 "ソースコードがネイティブのJavaバイトコードにコンパイルされている"ことをアサートするmxmlcコンパイラにスクリプト行を投稿できますか? –

+0

申し訳ありませんがミスタイプ、javac。だから、Groovy、Scala、J Ruby、Python、smthのようにJVM上で動くべきだと思ったのはなぜですか? – mie

答えて

7

ActionScriptの開発環境はJavaで記述されていますが、ActionScriptをコンパイルしてもJava互換のバイナリは生成されません。代わりに、ActionScript仮想マシン上で動作するバイナリにコンパイルされます。 Flash Playerには仮想マシンがありますが、Java関連ではありません。

+0

これは確かに単純で簡単な答えです。コンパイラがPythonで書かれていれば、 'python ...'が呼び出されますが、それでもPythonは生成されません(Javaコンパイラの 'Java'ランタイムと' javac'も混在しています)。コード。 – AKX

+0

しかし、ある種のflex-on-javaを持つことは良いことだと認識しているはずです。これは、flexがオープンソースになるはずです。 – Riduidel

関連する問題