The OpenNET Project / Index page

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

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

Разработчики фреймворка 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
Тип: К сведению
Ключевые слова: qt, qml, javascript, google, gui
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | 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 +/
    >скажи, уважаемый: ты когда-нибудь форкал проект размера Qt?

    Я где-то говорил, что собираюсь его форкать в одиночку?


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

    Насколько проще? Libreoffice говорит нам об обратном.

     
     
  • 9.27, Michael Shigorin (ok), 18:33, 25/02/2011 [^] [ответить]    [к модератору]  
  • +/
    Похоже, не пробовали... (мы форкали LTSP, потом мержили наработки)

    А с LO ситуация ближе к уникальной (и родилась далеко не одномоментно).

     
     
  • 10.28, anonymous (??), 20:17, 25/02/2011 [^] [ответить]    [к модератору]  
  • +/
    >Похоже, не пробовали... (мы форкали LTSP, потом мержили наработки)

    А зачем? Я и так сижу на форкнутом ядре, форкнутом опенофисе. Даже Qt у меня своя, которой нет в апстриме.


    >А с LO ситуация ближе к уникальной (и родилась далеко не одномоментно).

    Да ладно, его форкали множество раз и пилили совершенно другие разработчики. Даже если код и вернулся, но денег у сана от этого не прибавилось.

     
     
  • 11.29, anonymous (??), 20:24, 25/02/2011 [^] [ответить]    [к модератору]  
  • +5 +/
    ты таки упорно не понимаешь разницы между «запилил немного патчиков в проект» и «форкнул и развиваю проект».
     
  • 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 €6 million for the last couple of years.

    какое слово тут непонятно?

     
     
  • 9.35, anonymous (??), 21:19, 28/02/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > Total losses were around €6 million for the last couple of years.
    > какое слово тут непонятно?

    Trolltech's total revenue is around €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:
    Заголовок:
    Текст:


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