JavaPoly - JavaPoly

JavaPoly.js
Оригинальный автор (ы)Джим Спроч
изначальный выпуск9 мая 2016 г.; 4 года назад (2016-05-09)[1]
Написано вJavaScript
Операционная системаOS X, Linux, Солярис, FreeBSD, OpenBSD, Майкрософт Виндоус
Интернет сайтwww.javapoly.com

JavaPoly это библиотека, которая полифиллы родные JVM поддержка в любом современном веб-браузере.[2] Это позволяет веб-сайтам импортировать библиотеки Java и вызывать их прямо из Javascript, даже если на компьютере пользователя не установлена ​​Java.[3] В отличие от GWT и TeaVM, которые пытаются скомпилировать подмножество Java в Javascript, JavaPoly фактически выполняет Инструкции по байт-коду Java. Это означает, что JavaPoly может запускать практически любую библиотеку Java, включая библиотеки, использующие потоки, разделяемую память, блокирующие примитивы и 64-битные целые числа.[4]

JavaPoly разработан для оптимизации производительности за счет использования собственных JVM, когда они доступны.[5] При работе в Node.js JavaPoly всегда будет использовать собственную JVM и, таким образом, использовать собственные возможности, такие как поддержка многоядерности (которая в противном случае недоступна для приложений Javascript).[6] Точно так же JavaPoly будет использовать встроенную поддержку Java в веб-браузере, если такая поддержка доступна. Если подходящие альтернативы не обнаружены, JavaPoly вызовет виртуальную машину Doppio,[7][8] который обеспечивает поддержку выполнения в устаревших браузерах.

Рекомендации

  1. ^ «Java Polyfill для браузера». Получено 9 мая 2016.
  2. ^ «Java (скрипт) в браузере». 10 мая 2016. Получено 18 июля 2016.
  3. ^ Заурел, Сильвен (20 мая 2016 г.). «Используйте свои классы Java в браузере с помощью JavaPoly.js». Получено 18 июля 2016.
  4. ^ "Технические подробности JavaPoly.js". 10 мая 2016. Получено 18 июля 2016.
  5. ^ Криль, Пол (13 мая 2016 г.). «JavaPoly.js импортирует существующий код Java и вызывает его непосредственно из JavaScript». InfoWorld. Получено 18 июля 2016.
  6. ^ "javapoly". NPMJS. 18 июля 2016 г.. Получено 18 июля 2016.
  7. ^ "Doppio JVM". Лаборатория плазмы Массачусетского университета в Амхерсте. 24 декабря 2017. Получено 24 декабря 2017.
  8. ^ Вилк, Джон; Бергер, Эмери (2014). "Doppio: преодоление языкового барьера браузера" (PDF). Материалы конференции 2014 года по разработке и реализации языков программирования (PLDI). ACM. Дои:10.1145/2594291.2594293.