The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проекты по созданию компиляторов из Java в JavaScript и испо..."
Отправлено opennews, 21-Янв-18 10:42 
В рамках проекта TeaVM (http://teavm.org/) развивается компилятор, позволяющий компилировать Java-байткод  в JavaScript и WebAssembly для последующего выполнения в браузере. Ключевым отличием от проекта GWT (http://www.gwtproject.org/) (Google Web Toolkit) является то, что TeaVM выполняет трансляцию на уровне байткода (может компилировать файлы *.class или *.jar), без привязки к исходным текстам на языке Java, что позволяет компилировать  проекты на языках Kotlin и Scala. Код TeaVM распространяется (https://github.com/konsoletyper/teavm) под лицензией Apache 2.0.


Основной целью TeaVM  является предоставление средств по созданию web-приложений для разработчиков знакомых с Java, унификации платформы для разработки (фронтэнд на базе те же технологий, что и бэкенд) или при необходимости задействования в web-приложении уже имеющегося кода на Java. TeaVM по возможности сохраняет оригинальную структуру методов, выдавая читаемый и понятный JavaScript.  Для разработки одностраничных web-приложений на  Java, Kotlin  или Scala предлагается web-фреймворк Flavour, похожий на Angular, но базирующийся а идиомах Java, а не JavaScript.


Для ускорения выполнения результирующего кода и сокращения его размера применяется изощрённый оптимизатор, который способен выполнять девиртуализацию виртуальных вызовов в статические вызовы функций,  исключать неиспользуемый код, повторно использовать одну и ту же локальную переменную для хранения нескольких переменных, использовать сокращённые имена методов. Важной особенностью является поддержка преобразования в JavaScript многопоточного кода, который разворачивается в линейное представление с эмуляцией нескольких логических потоков в одном физическом потоке.


Также можно отметить фреймворк Substrate VM (https://github.com/oracle/graal/tree/master/substratevm), позволяющий выполнить компиляцию Java-приложений в форму самодостаточных исполняемых файлов или разделяемых библиотек (ELF-64 или 64-bit Mach-O). В Substrate VM применяется полноценная AOT-компиляция  (Ahead-of-Time) без симуляции через запуск байткода в виртуальной машине. Фреймворк распространяется под лицензией GPLv2 и развивается компанией Oracle  в рамках проекта Graal (https://github.com/oracle/graal) по разработке нового JIT-компилятора и runtime для JVM.

URL: https://news.ycombinator.com/item?id=16075933
Новость: http://www.opennet.me/opennews/art.shtml?num=47940

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру