Description
Research and Development topics for Qt on WebAssembly for 2020- (note: open ended finish date)
The target version for many of these issues is "5.15". Due to the special nature of the 5.15 branch (final minor release branch before Qt 6) this does not mean 5.15.0 but instead 5.15.x. In other words the plan is to continue to deliver improvements for 5.15.x, before at some point switching focus to Qt 6.
- Asyncify (
QTBUG-64020)
Build Qt with Emscriptens (new) Asyncify support. This will enable use of exec()-type Qt API where the main thread blocks and waits for some result.
- Dynamic Linking: (QTBUG-63925)
Build Qt as emscripten side modules. This will make app distribution more flexible, as well as improve developer productivity by reducing build times.
- Iterate on the event dispatcher (
QTBUG-76007)
Refactor/cleanup, move to non-GUI parts to QtCore. Support non-exec() mode.
- QWindow as html element. (
QTBUG-74298)
Today, QScreen is a first-class html element, and QWindow is internal to Qt. Add support for a 1:1 mapping between QWindow and the canvas element. This will improve our ability to mix html and Qt content.
- Iterate on qtloader.js (
QTBUG-74295)
The API and implementation is due for a new iteration.
- Add support for tunneled TCP and UDP sockets (
QTBUG-76739)
Tunnel over web sockets using websockify.
- Fonts (
QTBUG-81736)
Add support for the Chrome local fonts API and/or downloadable webfonts.
- cmake support for Qt 6
cmake is the one-and-only build system for Qt 6, also for Qt on WebAssembly