2012-01-05 2 views
1

Я разрабатываю приложения ActionScript уже полгода или около того. Насколько я могу судить, компилятор mxmlc - это всего лишь sh-скрипт для вызова javac - {options} более удобным способом. Это дает мне представление о том, что мой исходный код скомпилирован в родной java байт-код.Почему flashplayer не нуждается в JVM?

Из всего вышеизложенного я могу заключить, что либо Flash Player должен требовать установки JVM, либо быть и JVM. Или, возможно, Java используется для создания пользовательского двоичного файла Adobe так же, как и любой другой компилятор, но Java является кросс-платформенным и отраслевым стандартом, поэтому, чтобы избежать проблем с переносимостью, Adobe (Macromedia) может выбрать для ActionScript/Flex.

Можете ли вы мне это объяснить?

+0

By 'java - {options}', вы имеете в виду 'javac - {options}'? Я очень сомневаюсь, что ActionScript компилируется в java-байтовый код. Не могли бы вы опубликовать строки сценария в компиляторе mxmlc, который заставит вас утверждать, что «исходный код скомпилирован в собственный байт-код Java» –

+0

Извините, mistype, javac. Вот почему я подумал, что так же, как Groovy, Scala, J {Ruby, Python, smth}, он должен запускаться на JVM (возможно, не в оригинальной JVM из Oracle или в OpenJDK) – mie

ответ

7

Среда разработки ActionScript написана на Java, но компиляция ActionScript не приводит к созданию Java-совместимого двоичного файла. Вместо этого он компилируется в двоичный файл, который запускается на виртуальной машине ActionScript. Итак, у Flash Player есть виртуальная машина, но она не связана с Java.

+0

Это действительно ответ, простой и простой. (Вы также смешиваете 'java', Java runtime и javac', компилятор Java.) Если компилятор был написан на Python, он будет вызываться' python ... ', но все равно не приведет к Python код. – AKX

+0

Однако следует признать, что неплохо было бы иметь своего рода flex-on-java, который теперь станет проще, поскольку flex должен стать открытым исходным кодом. – Riduidel

Смежные вопросы