CheerpJ на базе Wasm запускает Java в веб-браузерах

WebAssembly JVM обещает запускать «очень большие» немодифицированные Java-приложения в современных браузерах без плагинов или установки Java.

Leaning Technologies выпустила CheerpJ 3.0, JVM на основе WebAssembly, которая работает в современных веб-браузерах. CheerpJ 3.0 — это полностью переписанная версия CheerpJ, поддерживающая «очень крупные» Java-приложения, такие как IntelliJ IDEA и Minecraft. Об этом написали в анонсе 1 февраля.

CheerpJ компилирует байт-код Java в JavaScript, используя JIT-компилятор (just-in-time) для байт-кода Java. В его состав входит полная и неизменная сборка OpenJDK, а также виртуализированный системный слой, включая виртуализированные файловые системы и поддержку виртуализированных сетей с использованием Tailscale. Ключевые возможности CheerpJ 3.0 включают:

  • Запуск крупных, неизмененных Java-приложений в браузерах без плагинов или установки Java.
  • Серверная часть не требуется.
  • Работает с неизмененными файлами JAR (Java Archive), без необходимости компиляции или предварительной обработки.
  • Поддерживает рефлексию и загрузчики классов.
  • Взаимодействие с JavaScript.

На данный момент CheerpJ 3.0 ограничен поддержкой Java 8. Однако одной из основных причин создания новой архитектуры было желание поддерживать несколько версий Java и времени выполнения. Leaning Technologies планирует добавить поддержку более современных версий Java LTS (Long-Term Support) позднее в 2024 году, начиная с Java 11. Долгосрочные цели включают достижение паритета с самой последней версией Java LTS, которая в настоящее время является JDK 21.

Заменяя версию CheerpJ 2.3 2022 года как долгосрочно поддерживаемую версию от Leaning Technologies, CheerpJ 3.0 опирается на уроки, извлеченные из семилетнего использования CheerpJ в корпоративной сфере и сообществом, а также из других проектов на основе WebAssembly, таких как CheerpX, система виртуализации с x86 на WebAssembly.

Ранее

Читайте также
Gemini 1.5: новое поколение, уже доступно в Google Ai Studio
Gemini 1.5: новое поколение, уже доступно в Google Ai Studio
Gemini 1.5: новое поколение, уже доступно в Google Ai Studio

Новое поколение чата Gemini 1.5 уже доступно в Google AI Studio

Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly
Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly
Вышел Spin 2.0 — обновление фреймворка Fermyon для создания приложений на WebAssembly

Фреймворк предназначен для облачных вычислений, которые собирают приложения из Wasm-компонентов, написанных на разных языках программирования. Spin 2.0 формирует базу для смены режимов между выполнением и реализацией.

WildFly 30 готовится к использованию JDK 21
WildFly 30 готовится к использованию JDK 21
WildFly 30 готовится к использованию JDK 21

В релиз также включили новую возможность настройки параметра «max-read-page-bytes» в подсистеме messaging-activemq.

Dev новости: Angular 19, Vue.js 3.5, Android 15
Dev новости: Angular 19, Vue.js 3.5, Android 15
Dev новости: Angular 19, Vue.js 3.5, Android 15

На этой неделе мир разработчиков обсуждает переход Angular к standalone компонентам, выпуск Vue 3.5, а также то, как разработчики используют искусственный интеллект для повышения навыков. Рассмотрим подробнее все значимые изменения.