Live data from Hacker News

Qt for WebAssembly Technology Preview

blog.qt.io

31–40 of 196 posts

Re: Qt for WebAssembly Technology Preview

#31
post #29
post #25

Earlier quoted context omitted.

The problem here is probably more download time, not run performance.

WebAssembly is binary packed bytecode and generally takes much less space than UTF-8 JavaScript source files.

Your JS source files typically don't have all the code necessary to re-implement 2D drawing, text handling, i18n code, etc... That's already been downloaded & provided in the form of the browser itself.

Re: Qt for WebAssembly Technology Preview

#32
post #24

Earlier quoted context omitted.

No no no. Obviously you should compile your existing Qt application to webassembly, put that in a QTWebView and have that be your application.

And we will run this all on nebulet, an OS being written for a pure web assembly user space [0]. But seriously, you say this like it's horrible, but a bytecode/VM that allows us to abstract over code that runs in a browser/code that runs a native app/code that runs in a device driver is really exciting. The fact that it allows infinite nesting is a inevitable mildly beneficial side effect to having interoperability.…

So basically Squeak, a 25 yr old technology that still runs bitexact across all it's virtual machines.

Re: Qt for WebAssembly Technology Preview

#33
post #28

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)

I had the impression WASM was about writing parts of web apps in it, so they get more performance. I can't imagine many people would like to download a 60GB AAA game or something like Photoshop to run it in the browser.

How do people install their AAA games and Photoshop today? I'd think the majority downloaded them, right?

There are plenty of downsides to having ubiquitous WASM-compiled cross-platform "browser-native" apps, and having basically everything forcefully turned into an experience akin to ChromeOS out of convenience for app developers, but that doesn't feel like one.

Re: Qt for WebAssembly Technology Preview

#34
post #2

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. 0 - http://vps2.etotheipiplusone.com:30176/redmine/projects/emsc...

Thank you for pointing to this, I'd seen it before and was reminded of it.

It's impressive and exciting it can run a full app like KATE. It feels as if you're running a Linux VM inside the browser, but no!

Re: Qt for WebAssembly Technology Preview

#35
Note that Qt has two separate technology previews for porting Qt apps to run in the web browser:

Qt WebGL streaming (qplatform/qpa plugin):

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.

Technology preview since 5.10, will be "TP2" status in 5.11. See http://blog.qt.io/blog/2017/11/14/qt-webgl-cinematic-experie... and http://blog.qt.io/blog/2017/07/07/qt-webgl-streaming-merged/

Qt for WebAssembly:

The entire QtWidgets / QML libraries are compiled to WASM and run clientside. There is no server-side component.

Will be released as a technology preview in the upcoming 5.11 release.

Re: Qt for WebAssembly Technology Preview

#36
post #28

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)

I had the impression WASM was about writing parts of web apps in it, so they get more performance. I can't imagine many people would like to download a 60GB AAA game or something like Photoshop to run it in the browser.

Actually, if I could have Photoshop run in a browser, with its full feature set, and running at >90% of full native speed, that would be pretty awesome. And I'd even be willing to wait for the multi-GB download as long as it only happened once (with small deltas thereafter).

Not saying we're there yet, but it's not hard to see where WASM could take us.

Re: Qt for WebAssembly Technology Preview

#37
post #23
post #15

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. Oh boy, sometimes you just walk away from a crash, but you're never the same.

I think this is misdirected criticism. WebAssembly runs at almost native speeds on a single very lightweight "VM".

It reimplements the UI layer and event layer instead of using the existing css/ Dom layer right? And does that not prevent scraping, accessibility and deep linking as well as adds a lot of download time?

It is great for intranet applications for large companies and other internal tools that are already in it, but otherwise it is a non starter.

Webassembly excels when it is minimized around core performance problems. Not when it is the whole app.

Re: Qt for WebAssembly Technology Preview

#38
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.

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.

Re: Qt for WebAssembly Technology Preview

#39
post #29
post #25

Earlier quoted context omitted.

The problem here is probably more download time, not run performance.

WebAssembly is binary packed bytecode and generally takes much less space than UTF-8 JavaScript source files.

I don't see why we won't be able to reference common 3rd party libraries along with their version number and cache them across websites. Eventually a giant repo of common libraries will be built.

Re: Qt for WebAssembly Technology Preview

#40
post #33
post #28

Earlier quoted context omitted.

I had the impression WASM was about writing parts of web apps in it, so they get more performance. I can't imagine many people would like to download a 60GB AAA game or something like Photoshop to run it in the browser.

How do people install their AAA games and Photoshop today? I'd think the majority downloaded them, right? There are plenty of downsides to having ubiquitous WASM-compiled cross-platform "browser-native" apps, and having basically everything forcefully turned into an experience akin to ChromeOS out of convenience for app developers, but that doesn't feel like one.

I mean, web apps today are optimized to get a click-and-play feeling. Software like Photoshop or GTA5 isn't optimized for that, you need to download and install them for hours.
Post reply on HN