Live data from Hacker News

Qt for WebAssembly Technology Preview

blog.qt.io

91–100 of 196 posts

Re: Qt for WebAssembly Technology Preview

#91
post #29

Earlier quoted context omitted.

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

Hello world in Qt is 25MB as a demonstration of 'lightweight' Qt.

Nobody optimizes and recompiles the libraries anymore to configure out the unnecessary parts.

The mechanisms are still there but the practice died when Qt stopped focusing on embedded targets.

Re: Qt for WebAssembly Technology Preview

#92

Earlier quoted context omitted.

I'm not sure I buy that, are you saying that the only reason that Qt hasn't completely taken over writing native software on (even desktop! not to mention mobile where Qt also works), is a marketing problem? I would argue that Qt's problem is: * Licensing is expensive (look it up, you can't just use it for free for large-scale commercial projects, contrary to what many people believe) * Getting started with Qt is pai…

* Licensing: IANA lawyer, but my understanding is that the LGPL doesn't force you to release the entire source, unless you are shipping a single static binary or a custom version of Qt. If you dynamically link, you are good to go. * Getting started: I agree it is painful. There's a definite learning curve here. I believe it's worth it obviously, but that's obviously subjective. * Language choices: There are binding f…

FWIW gamedevs have a natural aversion to anything with the term "GPL" in it. http://codesuppository.blogspot.com/2009/01/

Not saying it makes sense, just that groupthink is strong.

Re: Qt for WebAssembly Technology Preview

#95
post #90

Earlier quoted context omitted.

Qt devs need to eat too and they don't have a bunch of sugar daddies like Linus.

Even so, that's EXPENSIVE! It rules out a startup I'd say.

I would have agreed prior to the re-licensing to include LGPL, but startups can still jump in and ship a dynamically linked executable. If you truly need/want static linking tho, then you are right the cost is prohibitive.

Re: Qt for WebAssembly Technology Preview

#96

Earlier quoted context omitted.

I'm not sure I buy that, are you saying that the only reason that Qt hasn't completely taken over writing native software on (even desktop! not to mention mobile where Qt also works), is a marketing problem? I would argue that Qt's problem is: * Licensing is expensive (look it up, you can't just use it for free for large-scale commercial projects, contrary to what many people believe) * Getting started with Qt is pai…

* Licensing: IANA lawyer, but my understanding is that the LGPL doesn't force you to release the entire source, unless you are shipping a single static binary or a custom version of Qt. If you dynamically link, you are good to go. * Getting started: I agree it is painful. There's a definite learning curve here. I believe it's worth it obviously, but that's obviously subjective. * Language choices: There are binding f…

Actually, you _can_ release a static binary if and only if you also provide all the components needed to re-link the static binary. Read part 1 of the LGPL FAQ section on static vs dynamic linking [1]. It's trickier on iOS and Android app stores due to the distribution method. IANAL, but at one point Apple had a (obscure) link to the object files needed to re-link one of their programs which linked to an LGPL library -- alas I can't find the link anymore.

Edit: To clarify, if you provide the parts of your application that are proprietary as statically linked libraries wherein the recipient can relink to a modified version of the LGPL'ed library then that satisfies the LGPL.

1: https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynami...

Re: Qt for WebAssembly Technology Preview

#97
post #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, wi…

> 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. GTK 3 has something like that, too. Tried it once; super weird seeing Nautilus inside a browser. Cool, but weird.

> GTK 3 has something like that, too.

Yeah. It's called Broadway. If someone wish to give a try, see https://developer.gnome.org/gtk3/stable/gtk-broadway.html

Re: Qt for WebAssembly Technology Preview

#98

Earlier quoted context omitted.

The licensing bit is really trivial to summarize: It's LGPLv3. Formerly v2, so now it can't be used for free in some applications where it formerly could. You can absolutely use it for free in any project, as long as you conform to LGPLv3. Regarding JS: You're not supposed to write more than glue logic in JS - well, that's the practical experience. For some reason, the Qt company recommends more JS use than that.

> You can absolutely use it for free in any project, as long as you conform to LGPLv3. So you're saying there are projects where I cannot use Qt? The fact is, there exists projects that do not have the option of using Qt without paying for expensive licensing. Such projects should at least consider using Electron which might have significant non-technical advantages for them. It is cool that what many consider to be…

"Such projects should at least consider using Electron"

I don't think QT and Electron are architecturally equivalent.

Re: Qt for WebAssembly Technology Preview

#99
post #29

Earlier quoted context omitted.

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.

Couldn't Qt's webassembly library be cached in your browser, to be reused by any Qt webassembly app?

Re: Qt for WebAssembly Technology Preview

#100
post #60

Earlier quoted context omitted.

It has nothing to do with scale, it's either LGPL or pay for a commercial license. The commercial licenses are not cheap- $459 per seat per month.

Qt devs need to eat too and they don't have a bunch of sugar daddies like Linus.

QT is a developed by a corporation. I would presume most QT core devs are employees of that organization.
Post reply on HN