26 октября 2017

Расширение WebGL для Qt приложений


Специалисты Google разработали дополнение для вывода QML интерфейса Qt приложений через WebGL.

В рамках открытого проекта Qt-project.org от маленькой, но очень смелой финской компании, которая не смотря ни на что, уже более 25 лет продолжает продвигать свою библиотеку программного интерфейса Qt, ставшую за это время стандартом для многих приложений на Android, Blackberry, iOS, Linux, macOS, WebOS и даже Windows, сотрудники компании Google добавили код, позволяющий конвертировать современный Qt интерфейс в обычный Web вывод, с использованием стандарта WebGL.

Данное расширение открывает техническую возможность работать с Qt приложениями с помощью обычного браузера, поддерживающего WebGL. Пока подтверждена работоспособность только с Google Chrome, на котором и был продемонстрирован работающий прототип дополнения в Qt приложениях. Однако, ввиду практически полной поддержки WebGL всеми основными браузерами, скорее всего так же будет работать и в них. 

Это крайне важная веха для Qt приложений, коих огромное множество. Многие из нас работают с ними, даже не задумываясь, так как исторически сложилось использовать Qt для мобильных и встроенных приложений. Например, практически все мобильные приложения до появления Android и iOS были Qt приложениями. Авионика в самолётах и большинство встроенных дисплеев в самолётах или автомобилях - это также Qt приложения, например интерфейс, который вы видите на экране в салоне автомобиля Tesla или в навигаторах и магнитолах с цветным дисплеем в других марках автомобилей.

Теперь, если разработчики Qt приложений разрешат такую возможность, вы сможете подключиться практически к любой бортовой технике, включая самолёт, автомобиль, умный телевизор и даже умный холодильник с обычного Chromebook и работать со всей этой техникой, как будто вы за физической консолью данного устройства.


Более того, Qt приложения часто использовались, как кросс-платформенный стандарт для создания приложений для Linux, macOS и Windows. Теперь эти приложения также можно будет запускать на Chrome OS, если их разработчики это позволят (дополнение WebGL в Qt приложении требуется включить в ручную в настройках и перекомпилировать приложение).

Пример стандартного Qt приложения для macOS, со включенным WebGL интерфейсом показан на рис. выше.


Для разработчиков игр под Linux (одна из которых показана на рис. выше), также важно будет узнать про возможность фактически бесплатно портировать её для Web браузеров вообще и для Chrome OS в частности.

В общем, Google дал возможность перенести тысячи десктопных Qt приложений в браузер и это может дать возможность большому числу пользователей впервые с ними поработать, не покупая билет на самолёт, автомобиль Tesla, Macbook или просто не переплачивая за холодильник с сенсорным дисплеем в три раза. Всё, что для этого требуется, так это включить  дополнение WebGL в десктопном Qt приложении, а также W-Fi или Ethernet на встроенном устройстве и ваш Chromebook будет готов всем этим управлять, как если бы эти приложения были написаны специально для него.

Комментариев нет: