Doppio — Jvm, Компилятор И Дизассемблер Javascript

Сегодня у нас нет недостатка в замечательных вещах, написанных на JavaScript. Да, и мы реализуем JVM на JavaScript. уже видел .

Однако, Доппио является наиболее полной и активно разрабатываемой JVM.

Doppio — JVM, компилятор и дизассемблер JavaScript

По большому счету, Doppio — это проект, позволяющий запускать Java-код прямо в браузере без плагинов.

Он включает в себя реализацию виртуальной машины Java (JVM), состоящую из компилятора браузера и дизассемблера байт-кода.

Проект все еще находится в стадии разработки, предстоит еще много поработать над производительностью, прежде чем его можно будет использовать в разработке.

Но сегодня поддерживается:

  • Все 200 кодов операций
  • Точная эмуляция примитивных типов Java, в том числе 64-битных.

  • Дженерики
  • Большая часть API отражения
  • Обработка файлов и стандартный ввод-вывод
  • Основные библиотеки JDK, такие как String, Pattern и HashMap.
Вроде демо Лучше всего работает в Chrome, но должен хорошо работать и в любом браузере, поддерживающем локальное хранилище и типизированные массивы.



Но почему Ява?

Возможно, вы сейчас думаете: «Но зачем мне писать Java для браузераЭ» Но с JVM на базе браузера мы получаем гораздо больше, чем просто Java; не забывайте, что существует множество других языков, которые компилируются в байт-код JVM, включая существующие языки, такие как Ruby (JRuby), Python (Jython) и JavaScript (Rhino), а также новые языки, такие как Scala, Clojure. и Много другие .

С этой точки зрения JVM в браузере можно использовать для работы со многими языками и существующими программами прямо в браузере без ручного перевода.

Однако прежде чем это станет возможным, предстоит проделать большую работу по оптимизации.

В настоящее время Doppio интерпретирует байт-код «на лету», но авторы напоминают нам, что они хотят перейти к более компилируемому подходу.

Точно так же, как Emscripten компилирует байт-код LLVM в JavaScript, Doppio хочет сделать то же самое для кода JVM — тогда это будет очень мощная утилита.

Вы можете найти информацию о проекте Doppio здесь , см.

документацию Примеры или страницу на GitHub .

Ну, конечно, попробуй демо .

Теги: #JavaScript #jvm #Doppio #компилятор #дизассемблер #JavaScript #java

Вместе с данным постом часто просматривают: