LINUX.ORG.RU

В Qt интегрирован JavaScript-движок V8


0

1

Разработчики фреймворка Qt представили проект qt-script-ng, нацеленный на проведение замены интегрированного в WebKit JavaScript-движка JavaScriptCore на разработанный компанией Google высокопроизводительный движок V8, снабженный эффективным сборщиком мусора, обеспечивающий возможность одновременного изолированного выполнения нескольких скриптов одним процессом и реализующий расширенные методы оптимизации кода. В частности, V8 поддерживает функции JIT-компиляции, позволяющие на лету транслировать некоторые элементы в машинный код, минуя фазу интерпретации байткода в виртуальной машине.

В настоящий момент в рамках проекта подготовлен полный клон репозитория Qt, отличающийся заменой JavaScript-бэкенда. Несмотря на то, что некоторые элементы QtScript API пока не реализованы и определенные автоматические тесты завершаются ошибкой, с новым бэкендом уже работает ряд демонстрационных примеров использования QtScript и QML. Qt-script-ng пока не готов для полноценного внедрения, но его уже можно использовать для экспериментов. Проект позиционируется как исследовательский - решение о возможной интеграции V8 в основную кодовую базу Qt будет принято в зависимости от достигнутых результатов. В будущем разработчики планируют провести ревизию QtScript API и значительно урезать его, одновременно интегрировав в QML поддержку направленных на создание web-приложений API HTML5.

Интеграция V8 позволит увеличить производительность работы приложений, сформированных с использованием модуля QtScript, позволяющего встраивать блоки на языке JavaScript в код на языке C++, а также активно используемого для обеспечения работы технологии декларативного описания интерфейса Qt Quick и языка QML. В качестве языка для создания сценариев в QML используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками, представляющими собой определение JavaScript-объектов. QML-компоненты могут быть не только интегрированы в состав проектов на языке C++, но и работать в виде обособленных графических приложений, логика функционирования которых задана целиком на языке JavaScript.

В частности, на использование QML планируется перевести десктоп-оболочку KDE4 Plasma и другие KDE-программы, ранее базирующиеся на фреймворке QGraphicsView. Кроме упрощения процесса разработки переход на QML также сулит ускорение выполнения почти всех экранных операций, за счет более активного использования OpenGL и GPU-акселерации.

http://www.opennet.ru/opennews/art.shtml?num=29717

Надеюсь после этого конкверор с вебкитом начнет быстрее и стабильней работать

так в вебките при компиляции можно указать, какой движок использовать

note173 ★★★★★ ()
Ответ на: комментарий от note173

Но в оригинале про вебкит ничего вообще не говрится, он тут вообще ни при чём.

Yareg ★★★ ()
Ответ на: комментарий от Yareg

> При чём тут вебкит?

QtScript работает на JS-движке вебкита.

reader ()

В частности, на использование QML планируется перевести десктоп-оболочку KDE4 Plasma и другие KDE-программы, ранее базирующиеся на фреймворке QGraphicsView. Кроме упрощения процесса разработки переход на QML также сулит ускорение выполнения почти всех экранных операций, за счет более активного использования OpenGL и GPU-акселерации.

Привет clutter и gnome-shell. :)

daemonpnz ★★★★★ ()
Ответ на: комментарий от daemonpnz

Интересно только то, что пофамильно те, которые орали что JS на десктопе не нужен теперь запоют хором о том как это круто.

vertexua ★★★☆☆ ()
Ответ на: комментарий от daemonpnz

>Привет clutter

Вот этого гугна в Qt нет, есть opengl-бэкенд, причём уже сто лет.

А поскольку это бэкенд, проблемы «как запустить это на системах без 3d-ускорения» перед разрабами не стоит вообще. Собс-но, им про эти бэкенды знать вообще не обязательно.

Сравни с гномьей щелью. ;)

AX ★★★★★ ()
Ответ на: комментарий от vertexua

Самый быстрый интерпретируемый язык, а уж V8 убегает далеко вперед.

tensai_cirno ★★★★★ ()
Ответ на: комментарий от vertexua

>JS на десктопе не нужен

Ничего не изменилось.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.