Really surprised and saddened by the negative comments here. Qt is an amazing framework that has been around for nearly 30 years. Developing with it is a great experience, probably the most enjoyable coding I've done.<p>I have faith that the Qt project won't spend time shipping this if it doesn't offer advantages. Give them time, and a little benefit of the doubt based on a very long history of excellence.
This reminds me of a time, when I used to work for a very large company. After an unfortunate amount of meetings and powerpoint presentations about ubiquity and compatibility, we ended up putting a Flash VM inside a Java client, to read HTML.<p>Oh boy, sometimes you just walk away from a crash, but you're never the same.
Note that Qt has two separate technology previews for porting Qt apps to run in the web browser:<p>Qt WebGL streaming (qplatform/qpa plugin):<p>The Qt binary runs on your PC as normal, but instead of opening an X11/Win32 window, opens a network port. You can open the URL in a browser to see the interface. Only one connection is allowed / only one user can interact with the app at a time.<p>Technology preview since 5.10, will be "TP2" status in 5.11. See <a href="http://blog.qt.io/blog/2017/11/14/qt-webgl-cinematic-experience/" rel="nofollow">http://blog.qt.io/blog/2017/11/14/qt-webgl-cinematic-experie...</a> and <a href="http://blog.qt.io/blog/2017/07/07/qt-webgl-streaming-merged/" rel="nofollow">http://blog.qt.io/blog/2017/07/07/qt-webgl-streaming-merged/</a><p>Qt for WebAssembly:<p>The entire QtWidgets / QML libraries are compiled to WASM and run clientside. There is no server-side component.<p>Will be released as a technology preview in the upcoming 5.11 release.
Say what you will, we need these kind of projects in order to push forward WebAssembly (and eventually JavaScript may not be the only dominant language for front-end web development). I'm curious how much of the canvas they're taking advantage of if any of it. It's quite exciting. I might wind up porting one of my existing Qt applications just to try this out and see what that would be like.
I could find a few live demos [0] although some are broken<p>[0] <a href="https://msorvig.github.io/qt-webassembly-examples/" rel="nofollow">https://msorvig.github.io/qt-webassembly-examples/</a>
I'm seeing a ton of snarky comments, but isn't this what exactly WebAssemly is about (which I see people praising everyday as it opens up possibilities)
There is emscripten-qt that built Qt apps w/ Emscripten for a while now[0] (since asm.js and WASM should not change anything even though it hasn't had updates in a few years). Appears this uses Emscripten as well. I wonder how this compares at a tech level.<p>0 - <a href="http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-qt" rel="nofollow">http://vps2.etotheipiplusone.com:30176/redmine/projects/emsc...</a>
<a href="https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript" rel="nofollow">https://www.destroyallsoftware.com/talks/the-birth-and-death...</a> The end is neigh
Unfortunately, this port seems to lack accessibility for blind people and others that require assistive technology. My conclusion is based on the demos linked elsewhere on this thread. [0] I have no idea how to make a conventional GUI toolkit accessible with ARIA, but I hope the Qt developers figure it out.<p>Edit: Forgot to mention that I tested on Windows with a screen reader and Chrome.<p>[0]: <a href="https://msorvig.github.io/qt-webassembly-examples/" rel="nofollow">https://msorvig.github.io/qt-webassembly-examples/</a>
Looking at software that uses Qt[1], I'd say I'll be impressed once they have compiled one of them, say for instance Stellarium, to Wasm. It'd be great to see how a full software, not just a toy demo, behaves in webassembly.<p>1. <a href="https://en.wikipedia.org/wiki/Qt_(software)#Applications_using_Qt" rel="nofollow">https://en.wikipedia.org/wiki/Qt_(software)#Applications_usi...</a>
If everybody has a problem with Qt why don't we see gtk on more systems. The last time I checked you can use gtk on win/Linux/Mac it is free, and it sort of works.