Реализация JavaScript jvm - программирование
Подтвердить что ты не робот

Реализация JavaScript jvm

Есть ли какие-либо jvm-реализации JavaScript?

Если нет, можете ли вы дать мне несколько причин, почему это еще не реализовано? (возможно, возможно?) Я пытаюсь понять, чего нет, чтобы создать его?

Причина, почему я спрашиваю, это то, что я хочу создать веб-браузер с функцией компиляции, даже если на компьютере не установлен jdk или jre (только в браузере).

4b9b3361

Ответ 1

Не уверен, насколько зрелым jsJVM, но выглядит как что-то, что вас заинтересует. Как говорится на странице, это JVM, написанное в Javascript.

Ответ 2

Самый текущий, кажется, Doppio

Ответ 3

Возможно, вы посмотрите на bck2brwsr (aka java.net HTML)

  • это виртуальная машина, которая преобразует java-байтовый код в JavaScript (виртуальная машина Bck2Brwsr)
  • предоставляет оболочку на основе Java для HTML (HTML через API Java).

Объем проекта не для выполнения любой существующей java-библиотеки. (см. http://wiki.apidesign.org/wiki/Bck2Brwsr)

В Интернете есть два приятных примера:

  • калькулятор, который дает хорошую техническую проницательность (http://xelfi.cz/bck2brwsr/)
  • хорошая демонстрация космического захватчика как доказательство концепции (страница саммита jAYDAY 2013)

Чтобы начать с рабочим примером (требуется Maven и JDK7):

Шаг 1: архетип нагрузки

mvn archetype:generate -DarchetypeGroupId=org.apidesign.bck2brwsr \
 -DarchetypeArtifactId=bck2brwsr-archetype-html-sample -DarchetypeVersion=0.7.2 \
 -DarchetypeRepository=https://maven.java.net/content/repositories/releases/

Шаг 2: создайте HTML-страницу и зависимости и упакуйте как ZIP файл

mvn install
# produces bck-1.0-SNAPSHOT-bck2brwsr.zip

Шаг 3: распаковать ZIP

cd target; unzip bck-1.0-SNAPSHOT-bck2brwsr.zip
  creating: public_html/
  creating: public_html/lib/
  extracting: public_html/lib/emul-0.7.2-rt.jar  
  extracting: public_html/lib/javaquery.api-0.7.2.jar  
  inflating: public_html/bck2brwsr.js  
  extracting: public_html/bck-1.0-SNAPSHOT.jar  
  inflating: public_html/index.html 

Шаг 4: откройте index.html с вашим браузером

Ответ 5

Одна из проблем компиляции Java с использованием JavaScript заключается в том, что компилятор обычно должен знать о существовании (или нет) методов и атрибутов целевой минимальной версии Java. Чтобы даже знать эту информацию, вам нужно будет хранить свойства или переменные, которые описывают публичные члены каждого отдельного класса целевой J2SE. Это представляет собой очень большой фрагмент информации.

Ответ 6

Очень поздний ответ, но для будущих исследователей. Существует новая реализация Java JVM для JavaScript, которая была выпущена, поскольку этот вопрос был впервые задан. Он утверждает, что реализует JVM даже без установленной Java.

https://www.javapoly.com/