The OpenNET Project / Index page

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

Представлены результаты работы по интеграции JavaScript-движка V8 в Qt

25.02.2011 10:53

Разработчики фреймворка 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-акселерации.

  1. Главная ссылка к новости (http://labs.qt.nokia.com/2011/...)
  2. OpenNews: В движке V8 появилась новая подсистема JIT-компиляции JavaScript-кода
  3. OpenNews: Компания Nokia выпустила пакет Qt SDK 1.0 и среду разработки Qt Creator 2.0
  4. OpenNews: Релиз библиотеки Qt 4.7
  5. OpenNews: Nokia раскрыла некоторые планы по развитию Qt
  6. OpenNews: Десктоп-оболочка KDE4 Plasma будет переведена на использование QML
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/29717-qt
Ключевые слова: qt, qml, javascript, google, gui
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, jershell (?), 11:38, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Разработчики Qt не спят, что не день, то новость, и весьма положительная.
     
     
  • 2.18, Анонимка (?), 14:49, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не хотят повторить маршрут 5000 других сотрудников Нокии.
     
     
  • 3.19, anonymous (??), 14:52, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Не хотят повторить маршрут 5000 других сотрудников Нокии.

    есть мнение, что тролли неплохо жили до нокии и смогут неплохо жить без нокии.

     
     
  • 4.20, anonymous (??), 15:24, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >есть мнение, что тролли неплохо жили до нокии и смогут неплохо жить без нокии.

    Без коммерческой версии они бы долго не протянули.

     
     
  • 5.21, anonymous (??), 15:27, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Без коммерческой версии они бы долго не протянули.

    а что, её кто-то запретил, что ли? ну да, сейчас есть LGPL. а также есть далеко не одна контора, которая использует Qt и не заинтересована в том, чтобы Qt приняло ислам. так что без колбасы тролли не останутся.

    ятакщитаю.

     
     
  • 6.23, anonymous (??), 16:36, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >ну да, сейчас есть LGPL.

    Следовательно, покупать не потребуется.


    >так что без колбасы тролли не останутся.

    Проще форкнуть и пилить в нужном направлении, чем платить каким-то троллям.

     
     
  • 7.24, anonymous (??), 16:41, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Проще форкнуть и пилить в нужном направлении, чем платить каким-то троллям.

    скажи, уважаемый: ты когда-нибудь форкал проект размера Qt? настоятельно рекомендую попробовать. а потом подумать, почему будет проще и дешевле нанять для этого троллей, а не собирать новую команду.

     
     
  • 8.26, anonymous (??), 18:01, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я где-то говорил, что собираюсь его форкать в одиночку Насколько проще Libreof... текст свёрнут, показать
     
     
  • 9.27, Michael Shigorin (ok), 18:33, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже, не пробовали мы форкали LTSP, потом мержили наработки А с LO ситуац... текст свёрнут, показать
     
     
  • 10.28, anonymous (??), 20:17, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем Я и так сижу на форкнутом ядре, форкнутом опенофисе Даже Qt у меня сво... текст свёрнут, показать
     
     
  • 11.29, anonymous (??), 20:24, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +5 +/
    ты таки упорно не понимаешь разницы между 171 запилил немного патчиков в проек... текст свёрнут, показать
     
  • 4.30, thevery (??), 00:41, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    есть мнение что тролли были убыточны как минимум до покупки нокией
     
     
  • 5.31, anonymous (??), 00:46, 26/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > есть мнение что тролли были убыточны как минимум до покупки нокией

    а доказательства мнения есть?

     
     
  • 6.32, thevery (??), 01:55, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    дык легко ж гуглится:
    http://www.kdedevelopers.org/node/3235
    Trolltech's total revenue is around €25 million. Total losses were around €6 million for the last couple of years.
     
     
  • 7.33, anonymous (??), 03:17, 27/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    не вижу убыточности.
     
     
  • 8.34, thevery (??), 11:10, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Total losses were around 8364 6 million for the last couple of years какое с... текст свёрнут, показать
     
     
  • 9.35, anonymous (??), 21:19, 28/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Trolltech s total revenue is around 8364 25 million это немного больше шести ... текст свёрнут, показать
     
     
  • 10.36, thevery (??), 23:23, 01/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вы путаете общую выручку и чистую прибыль вернее, убытки ... текст свёрнут, показать
     

  • 1.2, alltiptop (ok), 11:50, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    ещё бы qt-webkit на хромовский вебкит заменили, цены бы не было
     
     
  • 2.4, Аноним (-), 11:59, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А чем они отличаются?
     
     
  • 3.11, Аноним (-), 13:48, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тем, что хромовский webkit использует v8…
     
  • 3.15, anonymous (??), 14:17, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем они отличаются?

    тем, что js-движок вебкита от хрома поддерживает только ограниченый круг архитектур, в отличие от JSC.

     
  • 2.14, anonymous (??), 14:16, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ещё бы qt-webkit на хромовский вебкит заменили, цены бы не было

    да Qt и так бесплатна.

     

  • 1.3, daemonpnz (ok), 11:57, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "Кроме упрощения процесса разработки переход на QML также сулит ускорение выполнения почти всех экранных операций, за счет более активного использования OpenGL и GPU-акселерации."
    Привет clutter и gnome-shell ;)
     
     
  • 2.5, Аноним (-), 12:00, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну сейчас все это будут делать, т.к. такой подход дает больше скорости и более простой.
     
     
  • 3.6, тоже Аноним (ok), 12:44, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не хотите расшифровать, с чего вдруг общение с GPU через абстракции языка высокого уровня (JS) может быть быстрее, чем работа с ним же на языке низкого уровня (С++)?
    Единственный плюс этого подхода - простота создания банальных интерфейсов и их динамичность, достигаемая более простыми методами, чем при программировании их в Qt.
    Однако, если применять такие вещи в серьезных программах (ОпенОфис или Гимп, например), подозреваю, что работать в них будет невозможно.
     
     
  • 4.16, Аноним (-), 14:26, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    JS нынче модно компилировать в байткод и V8 в этом плане в числе лидеров. Скорость пусть не ассемблерная, но в десятки раз быстрее обычного, не откомпилированного JS.
     
     
  • 5.17, anonymous (??), 14:30, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > JS нынче модно компилировать в байткод и V8 в этом плане в
    > числе лидеров.

    ты только что поделил на ноль весь v8, у которого отродясь не было и сейчас нет байткодовой машины.

     
     
  • 6.22, Аноним (-), 16:02, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    в машинный, описка
     
  • 2.7, Anonim (?), 12:52, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну не зря же Canonical пробует Unity на Qt сделать.
     
     
  • 3.8, daemonpnz (ok), 12:59, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пишут только 2D версию, для систем не поддерживающих 3D на простом Qt без QML. Если будет QML, то вряд ли оно сможет называться тогда 2D. И автоматически станет ненужно.
     

  • 1.9, pavlinux (ok), 13:03, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    XWindow + mobileGTK - спасёт гугла! :)
     
     
  • 2.10, Аноним (-), 13:34, 25/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Павлин намекает на конкуренцию в мобильно сегменте?
     

  • 1.13, anonymous (??), 14:15, 25/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну вот, альтернативно развитые добрались и до Qt. скажите уже им кто-нибудь, что у v8 нет виртуальной машины. вообще. и поэтому оно поддерживает только те архитектуры, для которых запилен компилятор. в отличие от JSC, которое поддерживает всё, на чём может собраться, а на некоторых архитектурах ещё и JIT умеет.
     
     
  • 2.37, Аноним (-), 08:57, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ну вот, альтернативно развитые добрались и до Qt. скажите уже им кто-нибудь, что у v8 нет виртуальной машины. вообще.

    И это огроменнейший плюс, на самом деле.

     
     
  • 3.38, anonymous (??), 14:01, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> ну вот, альтернативно развитые добрались и до Qt. скажите уже им кто-нибудь, что у v8 нет виртуальной машины. вообще.
    > И это огроменнейший плюс, на самом деле.

    ага. особенно для архитектур, которые не имеют компилятора. такой плюс, что от восторга оно вообще работать не будет.

    или для них предлагается писать эмулятор одного из камней, для которых v8 умеет делать код?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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