Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10357
  комментариев: 2245

BicaVM - написанная на JavaScript виртуальная машина для запуска программ на языке Java


Представлен новый проект BicaVM, в рамках которого создана реализация Java VM (JVM), написанная на JavaScript и способная выполняться в любом современном браузере.

Мотивом создания проекта послужило желание интегрировать в браузер виртуальную машину, в которой мог бы выполняться универсальный байткод. Суть идеи в том, что вместо поддержки какого определённого языка программирования в браузер предлагается добавить абстрактную виртуальную машину, которая позволяла бы организовать выполнение кода на различных языках программирования, не ограниченных одним JavaScript. В качестве достоинств такого подхода называется автоматическая изоляция кода и возможность сохранения среза состояния JVM на сервере, что позволит обеспечить независимую от браузера персистентность. Другим плюсом является обеспечение выполнения Java-программ на платформах, изначально не поддерживающих Java, например, BicaVM успешно выполняется на iPad/iPhone.

В отличие от инструментов GWT (Google Web Toolkit) и Java2Script (Eclipse-плагин), которые транслируют исходные тексты на языке Java в JavaScript, или j2js и Orto (копия на GitHub, которые преобразуют Java-байткод в JavaScript, проект BicaVM занимается непосредственно выполнением байткода JVM. По заявлению разработчиков ещё совсем недавно написание интерпретатора байткода на языке JavaScript трудно было себе представить, но бурное развитие JavaScript-движков в направлении увеличения производительности, сделали казавшееся невозможным явью. Несмотря на то, что BicaVM в настоящее время выполняет байткод значительно медленнее нативного JVM, разработчики не видят преград, чтобы довести скорость работы до терпимой, реализовав поддержку оптимизации на этапе инициализации и JIT-компиляции в JavaScript.

В настоящее время разработка носит главным образом концептуальный характер, но с некоторыми ограничениями уже может выполнять Java-код. В частности, поддерживается интерпретация примерно 60% байткода JVM и подготовлен интерфейс JNI для трансляции вызова Java-функций в JavaScript. Для обеспечения запуска полноценных Java-проектов предстоит ещё проделать много работы, например, подготовить полноценное runtime-окружение и провести дополнительные оптимизации производительности.


Источник: opennet.ru

  21 ноября 2011 422
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 1 и 16*:            


Хостеры (2445)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)




Отправить сообщение администратору

Сумма чисел 39 и 3*:


Яндекс цитирования
сообщить о неточности