Разговоры о запуске QML в браузерах, поддерживающих WebGL, велись давно, но реальность наступила вместе с появлением новой версии Qt 5.12.1. Прощая HTML, здравствуй QML? Не будем торопиться.
В отличие от PureQML родные QML-проекты запускаются без изменения кода. Для этого необходимо при установке или дополнении Qt установить плагин "Qt WebGL Streaming Plugin". После этого создайте приложение Qt Quick и запустите его со следующими аргументами командной строки:
./your-qt-application -platform webgl
, где your-qt-application - имя проекта
После этого по адресу http://127.0.0.1:8080/ будет запущен легковесный сервер. Если что-то не работает, обновите браузер до последней версии (подробности в блоге Qt). Последние версии Firefox, Chrome и Opera успешно открыли мой пример. IE 11 смог отобразить лишь чёрный экран.
Плагин работает с несколькими ограничениями:
Хорошо, открываем в Safari на iOS... растровый интерфейс?! Так точно, а вы что ожидали увидеть? Есть мнение, что потоковая передача WebGL будет использоваться в основном с использованием встроенных платформ: на каком-либо устройстве (Raspberry Pi и др.) запускается приложение, основанное на Qt, а на телефоне или планшете открывается браузер для взаимодействия с ним.