QML переводится в нативный код во время компиляции или интерпретируется во время выполнения, как JavaScript запускается в веб-браузерах? - PullRequest
15 голосов
/ 26 февраля 2012

Переводится ли QML в собственный код во время компиляции или интерпретируется во время выполнения почти так же, как JavaScript запускается в веб-браузере?

Ответы [ 3 ]

5 голосов
/ 26 февраля 2012

AFAIK, в документации Qt, похоже, нет прямого и подробного объяснения, но некоторые хакеры Qt пытаются объяснить это :

QML скомпилирован в оптимизированный байт-код-подобный поток и выражения JavaScript проходят через оптимизированный оценщик для простых выражений.

Также существует связанная задача QTBUG Необходимо улучшить время запуска QtQuick;кешируется скомпилированный QML между запусками

Насколько я понимаю, статус QML не был полностью установлен, и инженеры не объявляют его фиксированным, поэтому у них есть свобода улучшать его в будущем.

ATM, лучший совет - смешивать C ++ с QML, имея всю логику приложения на C ++ и представление в QML, но в идеале делить на меньшие файлы QML, а не на один большой файл QML.

3 голосов
/ 21 мая 2014

С Qt 5.3 и корпоративной лицензией, на самом деле, есть способ предварительно скомпилировать ее.

http://doc.qt.digia.com/QtQuickCompiler/

Это полезно для iOS, где Apple не допускает генерацию кода JIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...